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

如何在Webpack脚本中设置NODE_OPTIONS=--openssl-legacy-provider?

解决Webpack构建的ERR_OSSL_EVP_UNSUPPORTED错误并集成NODE_OPTIONS到脚本

这个错误是Node.js v17及以上版本默认启用了新的OpenSSL加密算法套件,导致Webpack等老版本工具出现兼容性问题。要把NODE_OPTIONS=--openssl-legacy-provider集成到构建脚本里,有两种常用方式:

方式一:直接前置环境变量(类Unix系统适用)

修改package.json中的buildProd脚本,将环境变量配置直接放在webpack命令前:

"buildProd": "NODE_OPTIONS=--openssl-legacy-provider webpack --config webpack.config.js --mode=production --display-error-details"

这种写法在Linux、macOS以及类Unix的CI环境(如GitHub Actions、GitLab CI)中可以直接生效。

方式二:跨平台兼容方案(支持Windows/类Unix)

如果CI环境可能涉及Windows系统,推荐使用cross-env包统一环境变量设置方式:

  1. 先安装依赖:
npm install cross-env --save-dev
  1. 修改package.json脚本:
"buildProd": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --config webpack.config.js --mode=production --display-error-details"

另外,部分CI平台支持单独配置环境变量(比如在CI配置文件中设置variables或env字段),也可以直接在CI配置里添加NODE_OPTIONS=--openssl-legacy-provider,无需修改package.json脚本,这种方式更适合多项目统一配置的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:55:20