解决前端VUE前端框架报错Error: error:0308010C:digital envelope routines::unsupported的几种方法

一、报错信息:

复制代码
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:135:10)
    at module.exports (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:471:10)
    at E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:503:5        
    at E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:358:12       
    at E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3  
    at iterateNormalLoaders (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3  
    at runSyncOrAsync (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at E:\Projects\platform-code\platform-cloud\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
10% building 2/5 modules 3 active ...nt-loader\index.js??ref--13-0!E:\Projects\platform-code\platform-cloud\ruoyi-ui\src\main.jsnode:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);

二、原因分析

主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。

三、解决方案

**方案1:**打开IDEA 终端,直接输入

复制代码
# Linux & Mac OS:
export NODE_OPTIONS=--openssl-legacy-provider

# Windows:
set NODE_OPTIONS=--openssl-legacy-provider

**方案2:**打开IDEA 终端,直接输入(问题解决)

复制代码
$env:NODE_OPTIONS="--openssl-legacy-provider"

**方案3:**卸载当前版本,安装合适的版本(node.js)

**方案4:**解决方式(仅限 windows):

在项目中 package.json 的 scripts 中新增 SET NODE_OPTIONS=--openssl-legacy-provider

添加前:

复制代码
"scripts": {
"dev": "vue-cli-service serve",

"build:prod": "vue-cli-service build"

},

添加后:

复制代码
"scripts": {
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
},
相关推荐
&白帝&2 分钟前
vue右键显示菜单
前端·javascript·vue.js
Wannaer3 分钟前
从 Vue3 回望 Vue2:事件总线的前世今生
前端·javascript·vue.js
羽球知道23 分钟前
在Spark搭建YARN
前端·javascript·ajax
光影少年1 小时前
vue中,created和mounted两个钩子之间调用时差值受什么影响
前端·javascript·vue.js
青苔猿猿1 小时前
node版本.node版本、npm版本和pnpm版本对应
前端·npm·node.js·pnpm
一只码代码的章鱼2 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法
zimoyin2 小时前
Kotlin 协程实战:实现异步值加载委托,对值进行异步懒初始化
java·前端·kotlin
cdcdhj2 小时前
vue用通过npm的webpack打包编译,这样更适合灵活配置的项目
vue.js·webpack·npm
程序员与背包客_CoderZ4 小时前
Node.js异步编程——Callback回调函数实现
前端·javascript·node.js·web
非凡ghost4 小时前
Pale Moon:速度优化的Firefox定制浏览器
前端·firefox