Error: error:0308010C:digital envelope routines::unsupported
概述
使用若依框架,启动UI执行命令npm run dev时报错误:Error: error:0308010C:digital envelope routines::unsupported
1 2 3 4 5 6 7 8 9 10 11 | INFO Starting development server... 95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope routines::unsupported Error: error:0308010C:digital envelope routines::unsupported at new Hash (node: internal /crypto/hash:71:19) at Object.createHash (node:crypto:133:10) at D:\Project\RuoYi\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:243:42 at CompressionPlugin.compress (D:\Project\RuoYi\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:284:9) at D:\Project\RuoYi\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:305:12 at _next1 (eval at create (D:\Project\RuoYi\ruoyi-ui\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:14:17) at eval (eval at create (D:\Project\RuoYi\ruoyi-ui\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:33:1) at D:\Project\RuoYi\ruoyi-ui\node_modules\copy-webpack-plugin\dist\index.js:91:9 |
分析
因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18.12.0
解决方案
解决方式(仅限 windows):
在项目中 package.json 的 scripts 中新增 SET NODE_OPTIONS=--openssl-legacy-provider
添加前:
1 2 3 4 5 6 7 | "scripts" : { "dev" : "vue-cli-service serve" , "build:prod" : "vue-cli-service build" , "build:stage" : "vue-cli-service build --mode staging" , "preview" : "node build/index.js --preview" , "lint" : "eslint --ext .js,.vue src" }, |
添加后:
1 2 3 4 5 6 7 | "scripts" : { "dev" : "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve" , "build:prod" : "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build" , "build:stage" : "vue-cli-service build --mode staging" , "preview" : "node build/index.js --preview" , "lint" : "eslint --ext .js,.vue src" }, |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步