问题
node 环境 Node.js v18.14.2
使用npm start
.出现以下报错
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (F:\RuoYi-Cloud\CourseSchedulingSystem\UI\my-app\node_modules\react-scripts\node_modules\webpack\lib\util\createHash.js:90:53)
…
原因
因为 node.js V17版本中发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。
解决
1、安装nvm管理工具
https://github.com/coreybutler/nvm-windows/releases
下载:
nvm-setup.exe
2、安装nvm安装
注:路径不要出现空格或中文符号
3、验证是否安装成功
进入命令控制行窗口(win+R,输入cmd)
输入nvm -v
出现版本号即成功。
nvm -v
Running version 1.1.8.
Usage:
nvm arch : Show if node is running in 32 or 64 bit mode.
nvm current : Display active version.
nvm install <version> [arch] : The version can be a specific version, "latest" for the latest current version, or "lts"
4、下载node.js
(1)查看可用的node.js版本号
nvm ls available
(2)下载版本号
nvm install 16.17.1
3()选择nodejs版本
nvm use 16.17.1
若报错:
exit status 1: ���ļ��Ѵ���ʱ�����������ļ���
可能是以下错误之一:
1)安装路径是否包含中文
2)安装路径有空格
3)cmd使用是否是管理员方式打开
4)配置文件setting.txt中配置的路径和实际安装路径是否相符
5、重启应用
分别输入命令行node -v和npm -v,检验node.js以及对应npm是否安装成功,如果可以显示版本号这说明安装成功。
注:
卸载
nvm uninstall 16.17.1
查看可用版本
nvm ls
* 18.14.2 (Currently using 64-bit executable)
16.17.1