ERROR in vendor.dll.9393033.js from UglifyJsError: error:0308010C:digital envelope routines::unsupported

发布于 2023-11-03  848 次阅读


原因就是nodejs17发布了OpenSSL3.0对算法和密钥大小增加了更为严格的限制,npm升级导致与OpenSSL不兼容,导致的初始化失败。

解决办法:

  1. 卸载当前版本,安装低版本nodejs,推荐nodejs16
  2. 电脑添加新的系统变量,变量名:NODE_OPTIONS变量值:--openssl-legacy-provider
  3. cmd输入set NODE_OPTIONS=--openssl-legacy-provider,但必须使用cmd启动项目才有效,IDE启动还是可能会报错
  4. 当使用webstorm运行VUE项目时,修改package.json文件

"scripts": {
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && node build/dev-server.js",
"start": "npm run dev",
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && node build/build.js",
"build:dll": "SET NODE_OPTIONS=--openssl-legacy-provider && webpack --config=build/webpack.dll.conf.js",
"lint": "eslint --ext .js,.vue src"
}

降低nodejs版本最简单。


星星温柔泛滥,人间至善