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 版本与项目依赖的 OpenSSL 加密库不兼容引起。
解决方案
修改~\dubbo-admin-develop\dubbo-admin-ui\package.json配置
"scripts": {
  "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
  "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
}
 
亲测生效
