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",
相关推荐
闭上眼让寒冷退却5 分钟前
LilChat项目复杂度+难点+亮点建议
react·socket.io·project
郭庆汝19 分钟前
Ubuntu安装Node.js
linux·ubuntu·node.js
wellc22 分钟前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
不会写DN1 小时前
从依赖到自主:手写一个 ICO 文件转换器
前端·javascript·typescript·node.js
zybsjn2 小时前
一天快速实现markdown 编辑器和排版工具:基于Node.js + Express + 原生JS的开发实践
node.js·express·ai编程
书中枫叶2 小时前
个人主页网站SEO | 个人博客基于Nuxt
typescript·node.js·nuxt.js
木易 士心2 小时前
Node.js 后端开发全解析:从核心原理架构到实战应用
后端·架构·node.js
H5css�海秀10 小时前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
Highcharts.js15 小时前
Highcharts React v4 迁移指南(下):分步代码示例与常见问题解决
javascript·react.js·typescript·react·highcharts·代码示例·v4迁移
求知若饥18 小时前
webpage-channel 让不同页面通信像组件通信一样简便
前端·typescript·node.js