如果在使用前端发布项目时候,报错如下:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (F:\my-crypto-zombie\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (F:\my-crypto-zombie\node_modules\webpack\lib\NormalModule.js:417:16)
at F:\my-crypto-zombie\node_modules\webpack\lib\NormalModule.js:452:10
at F:\my-crypto-zombie\node_modules\webpack\lib\NormalModule.js:323:13
at F:\my-crypto-zombie\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at F:\my-crypto-zombie\node_modules\loader-runner\lib\LoaderRunner.js:233:18
at context.callback (F:\my-crypto-zombie\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at F:\my-crypto-zombie\node_modules\babel-loader\lib\index.js:55:103 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
您可以尝试其中之一:
1. 降级到 Node.js v16。
-
您可以从 Node.js 的网站重新安装当前的 LTS 版本。
-
您也可以使用nvm. 对于 Windows,使用nvm-windows.
2. 启用旧版 OpenSSL 提供程序。(推荐,简单)
在类 Unix 上(Linux、macOS、Git bash 等):
export NODE_OPTIONS=--openssl-legacy-provider
在 Windows 命令提示符下:
set NODE_OPTIONS=--openssl-legacy-provider
在 PowerShell 上:
$env:NODE_OPTIONS = "--openssl-legacy-provider"