Nodejs报错记录
◉ digital envelope routines::unsupported
D:\workspace\vuedemo> npm run dev
...
error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
...
Nodejs升级到17版本以上时,运行之前的webpack项目会出现此问题。详情查看 github。
解决办法有两种:
- 修改
package.json
,在相关构建命令之前加入set NODE_OPTIONS=–openssl-legacy-provider &
"scripts": { "serve": "set NODE_OPTIONS=–openssl-legacy-provider & vue-cli-service serve", "build": "set NODE_OPTIONS=–openssl-legacy-provider & vue-cli-service build", "lint": "set NODE_OPTIONS=–openssl-legacy-provider & vue-cli-service lint" }
- 回退Nodejs版本,可以使用
nvm管理工具
,管理多个Nodejs版本。
◉ 终端输入vue -V
报错 在此系统上禁止运行脚本
C:\Users\Administrator> vue -V
vue : 无法加载文件 D:\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue -V
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解决办法:
- 使用管理员模式启动终端
- 执行命令:
get-ExecutionPolicy
(取得shell的当前执行策略),显示Restricted
(表示状态是禁止的) - 执行命令:
set-ExecutionPolicy RemoteSigned
- 执行命令:
get-ExecutionPolicy
,显示RemoteSigned
则可以正常使用了
◉ Node Sass does not yet support your current environment
Syntax Error: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (108)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
node sass
版本和当前node版本不匹配,点击查看匹配版本。
解决办法:
- 卸载当前版本
node sass
npm uninstall --save node-sass
- 安装对应版本的
node sass
npm install --save node-sass@版本