You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

删除node_modules并升级Node.js后项目运行报错求助

解决 "digital envelope routines::unsupported" 错误

问题原因

你安装的最新版Node.js(v17及以上)默认启用了OpenSSL 3.0,而项目里的webpack版本偏旧,依赖的MD4哈希算法在OpenSSL 3.0中被标记为不安全并禁用,导致编译时触发该错误。

可行解决方案

方案1:临时启用旧版哈希算法(快速修复)

  • 命令行临时设置环境变量:
    在Windows命令行中,先执行以下命令,再启动项目:
    set NODE_OPTIONS=--openssl-legacy-provider
    npm run dev
    
  • 集成到package.json脚本(一劳永逸):
    修改package.json中的scripts字段,把环境变量配置直接加在启动命令前:
    "scripts": {
      "dev": "set NODE_OPTIONS=--openssl-legacy-provider && webpack serve",
      "build": "set NODE_OPTIONS=--openssl-legacy-provider && webpack"
    }
    

方案2:升级webpack到兼容版本(长期解决方案)

webpack v5.60.0及以上已经适配了OpenSSL 3.0的要求,直接升级即可:

npm install webpack@latest --save-dev

同时建议同步升级webpack-dev-server等相关插件,避免版本不兼容:

npm install webpack-dev-server@latest --save-dev

方案3:降级Node.js到LTS版本(适合不想升级webpack的场景)

卸载当前的Node.js,安装v16.x系列的LTS版本,该版本默认使用OpenSSL 1.1.1,不会存在哈希算法的兼容性限制。

内容的提问来源于stack exchange,提问作者my bance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:15:50