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",
相关推荐
m0_380743878 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
__zRainy__12 小时前
Node系列 · ORM:Sequelize 简介
数据库·后端·node.js
水獭比特12 小时前
工具都批准了,为什么还不能执行?给 Agent 补上第二道校验
javascript·人工智能·node.js
__zRainy__16 小时前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
__zRainy__18 小时前
Node系列 · ORM:Sequelize 模型
数据库·后端·node.js
秋秋小事18 小时前
提示词工程
node.js
__zRainy__19 小时前
Node系列 · 数据库:MySQL 安装
数据库·后端·mysql·node.js
EricStone20 小时前
Agent开发学习一:Hello-Agents TypeScript 全栈实现
typescript·node.js·agent
必须会一定会21 小时前
Agent Handoff M5 发布验收:`CHANGES.md`、`npm pack`、`release:check` 与干净环境安装验证
前端·人工智能·npm·node.js·ai编程
秋秋小事1 天前
Function Calling模型呼叫工具
node.js