1.问题场景
启动项目失败,
envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19)
通常表示 Node.js 在尝试使用某种加密哈希算法时遇到了不支持的情况。这可能是因为以下几个原因:
-
Node.js 版本与算法不兼容:你可能正在尝试使用的加密算法在当前的 Node.js 版本中不被支持。Node.js 的一些较新版本可能会移除对旧加密算法的支持,或者添加对新算法的支持。
-
错误的算法名称:在创建加密哈希时,可能指定了一个不存在的或拼写错误的算法名称。
-
依赖库问题:如果你的项目依赖于外部库来处理加密,那么这个库可能与你当前的 Node.js 版本不兼容,或者它本身就有问题。
2.1 解决方法1(更换node版本)
2.2 解决方法2(快捷命令临时更改环境变量)
javascript
$env:NODE_OPTIONS="--openssl-legacy-provider"
npm run serve
2.3 解决方法3(修改package.json配置文件相关运行命令)
每次启动项目需运行
javascript
set NODE_OPTIONS=--openssl-legacy-provider
npm run serve