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

thiskHandle = 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",
相关推荐
hoLzwEge14 小时前
拯救低效调试!code-inspector-plugin 让代码定位如虎添翼
前端·前端框架·node.js
无情的西瓜皮20 小时前
给 AI 装个“工具箱”:MCP 协议入门与 Node.js 实战
人工智能·node.js
__zRainy__1 天前
Node.js readline 全景指南:createInterface 配置、逐行读取与交互模式
node.js·readline
To_OC1 天前
拼路径读文件总踩坑?我把 Node 的 path 和 fs 彻彻底底捋了一遍
javascript·后端·node.js
人间凡尔赛1 天前
2026 年 React Server Components 完全指南:Next.js 16 全栈开发最佳实践
前端·typescript·react·全栈·next.js
星栈1 天前
从装一堆工具到看懂 Node 工程化思维:我的项目复盘记录
后端·node.js
东方小月2 天前
从零开发一个Coding Agent:monorepo项目搭建
前端·后端·node.js
Lihua奏2 天前
# 用 Node.js 连接数据库:一次请求是怎么跑起来的?
node.js
kisshyshy2 天前
给端侧大模型装上“发动机”:React 合成事件 + 进度条组件全解
前端·react.js·node.js
csdn2015_2 天前
nodejs安装
node.js·vue