error:0308010C:digital envelope routines::unsupported

问题

执行npm run dev提示error:0308010C:digital envelope routines::unsupported

 INFO  Starting development server...
10% building 2/2 modules 0 active(node:18692) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
10% building 2/3 modules 1 active ...e\dubbo-admin-develop\dubbo-admin-ui\node_modules\eslint-loader\index.js??ref--13-0!C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\src\main.jsError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
10% building 2/5 modules 3 active C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack-dev-server\client\index.js?http://10.1.5.186:38082&sockPath=/sockjs-nodenode:internal/crypto/hash:79
  this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache());
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at C:\Users\admin\Documents\software\dubbo-admin-develop\dubbo-admin-ui\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3) {
  opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

此错误通常由 ‌Node.js v17+ 版本引入的 OpenSSL 3.0 加密协议升级‌导致,旧项目因算法或密钥限制不兼容新版本‌12。以下是综合解决方案:

‌1. 临时设置环境变量(推荐)‌
在终端中执行以下命令,临时启用旧版 OpenSSL 提供程序:

  • Windows(PowerShell/CMD)‌
    $env:NODE_OPTIONS="--openssl-legacy-provider"
    
  • ‌Linux/MacOS‌
    export NODE_OPTIONS=--openssl-legacy-provider
    
    适用场景‌:单次运行项目或快速验证问题‌

‌2. 永久配置环境变量‌
将环境变量添加到系统配置中,避免重复设置:

  • Windows‌
    通过 控制面板系统属性环境变量 → 新建系统变量:

    变量名:NODE_OPTIONS  
    变量值:--openssl-legacy-provider  
    
  • Linux/MacOS‌
    ~/.bashrc~/.zshrc 中添加:

    export NODE_OPTIONS=--openssl-legacy-provider
    

    执行 source ~/.bashrc 或重启终端生效‌ 。

‌3. 降级 Node.js 版本‌
若无需新版本特性,可降级至 ‌Node.js v16.x‌ 或更低版本(需配合 nvm 或手动安装)‌。

‌总结‌:优先推荐 ‌临时环境变量‌ ,避免降级 Node.js 版本导致功能受限‌

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值