Error: error:0308010C:digital envelope routines::unsupported

报错

(node:16863) [DEP_WEBPACK_CONFIGURATION_OPTIMIZATION_NO_EMIT_ON_ERRORS] DeprecationWarning: optimization.noEmitOnErrors is deprecated in favor of optimization.emitOnErrors

(Use node --trace-deprecation ... to show where the warning was created)

(node:16863) [DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS] DeprecationWarning: optimizeChunkAssets is deprecated (use Compilation.hooks.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)

(node:16863) [DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK] DeprecationWarning: Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader

node:internal/crypto/hash:71

this[kHandle] = new _Hash(algorithm, xofLen);

^

Error: error:0308010C:digital envelope routines::unsupported

at new Hash (node:internal/crypto/hash:71:19)

at Object.createHash (node:crypto:133:10)

问题原因

出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.

解决方式

运行指令前设置环境变量

复制代码
export NODE_OPTIONS=--openssl-legacy-provider 

或者修改下脚本

复制代码
  "scripts": {
    "analyze": "cross-env ANALYZE=1 umi build",
    "build": "export NODE_OPTIONS=--openssl-legacy-provider &&  umi build",
    "deploy": "npm run build && npm run gh-pages",
    "dev": "export NODE_OPTIONS=--openssl-legacy-provider &&  npm run start:dev",
相关推荐
贩卖纯净水.1 小时前
Webpack的基本使用 - babel
前端·webpack·node.js
贩卖纯净水.3 小时前
Webpack依赖
前端·webpack·node.js
crary,记忆3 小时前
微前端 - Module Federation使用完整示例
前端·react·angular
笑醉踏歌行5 小时前
NVM,Node.Js 管理工具
运维·ubuntu·node.js
chxii7 小时前
1.4 Node.js 的 TCP 和 UDP
node.js
aiguangyuan10 小时前
浅谈 React Hooks
react·前端开发
xd0000220 小时前
11. vue pinia 和react redux、jotai对比
node.js
程序猿小D21 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
前端老六喔1 天前
🎉 开源项目推荐 | 让你的 TypeScript/React 项目瘦身更简单!
node.js·前端工程化
醉书生ꦿ℘゜এ1 天前
npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js