VUE3 项目启动提示:crypto.hash is not a function

1,561 阅读1分钟

一、背景

创建项目时,使用JavaScript框架VUE v3.5.17 + 开发工具VITE v7.0.0。系统中安装的运行时环境Node v18.20.8。在启动时,发生报错,提示如下: error when starting dev server: TypeError: crypto.hash is not a function

详细信息请看截图。

image.png

二、原因

crypto.hash需要使用Node 20.12.0以上或者21.7.0以上才能支持。我当前的Node版本是v18。所以升级Node版本就可以。

三、解决办法

1. 使用nvm(Node Version Manager)管理Node.js(推荐)

nvm是一款Node.js的版本管理工具。同一台电脑上,可以安装多个不同版本的Node.js,并且使用nvm进行管理,包括:安装、卸载、切换活跃的Node.js、启用、关闭等功能。

如果电脑上有多个项目,且运行在不同版本的Node.js中,使用nvm会很方便。

1. 安装nvm

如果是unix, macOS, windows WSL操作系统,则安装nvm。github.com/nvm-sh/nvm

如果是Windows操作系统,则安装nvm-window。github.com/coreybutler…

2. 升级Node.js

  1. 本地电脑上卸载已有的Node.js。
  2. 从Node.js官方 nodejs.org/zh-cn/downl… 下载想要升级的版本后安装。