主题
Nodejs 报错记录
记录日常使用
Nodejs
以及npm
过程中遇到的一些错误和解决办法
◉ digital envelope routines::unsupported
sh
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 &
js"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
报错 在此系统上禁止运行脚本
sh
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
sh
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
sh
npm uninstall --save node-sass
- 安装对应版本的
node sass
sh
npm install --save node-sass@版本
◉ npm ERR! Invalid name: "xxx"
sh
PS D:\workspace\2023\scheduling-screeen> npm run serve
npm ERR! Invalid name: "scheduling screeen"
npm在发布时,package.json
中 name
属性值不准许有大写字母和空格,这。。。 解决办法: 修改 package.json
文件中 name
的名称
json
{
"name": "scheduling screeen",
...
}