前端代码打包npm run build:prod报错>node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
时间: 2023-11-28 11:45:05 浏览: 102
根据提供的引用内容,这个错误可能是由于使用了不兼容的OpenSSL版本导致的。解决此问题的方法是在运行npm命令之前设置NODE_OPTIONS环境变量,将其设置为不包含--openssl-legacy-provider选项的值。可以使用以下命令来设置NODE_OPTIONS环境变量:
```shell
export NODE_OPTIONS="$(echo $NODE_OPTIONS | sed 's/--openssl-legacy-provider//g')"
```
然后再次运行npm命令即可。
相关问题
npm run dev报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
当你在运行`npm run dev`命令时,出现了`node: --openssl-legacy-provider is not allowed in NODE_OPTIONS`的报错信息。这个错误是由于在你的环境变量中设置了`NODE_OPTIONS`,并且其中包含了`--openssl-legacy-provider`选项,但是该选项在当前的Node.js版本中已经被禁用了。
解决这个问题的方法是更新你的Node.js版本或者修改`NODE_OPTIONS`环境变量中的选项。你可以尝试以下几种方法来解决这个问题:
1. 更新Node.js版本:升级到最新的稳定版本可以解决该问题。你可以访问Node.js官方网站(https://nodejs.org/)下载最新版本的Node.js,并安装它。
2. 修改`NODE_OPTIONS`环境变量:如果你不想升级Node.js版本,你可以尝试修改`NODE_OPTIONS`环境变量中的选项。你可以通过以下步骤来修改:
- 在命令行中运行`echo %NODE_OPTIONS%`(Windows)或者`echo $NODE_OPTIONS`(Mac/Linux)来查看当前的`NODE_OPTIONS`值。
- 如果其中包含了`--openssl-legacy-provider`选项,你可以尝试删除它或者将其替换为其他合适的选项。
- 保存修改后的环境变量,并重新运行`npm run dev`命令。
希望以上方法能够帮助你解决问题!如果你还有其他问题,请继续提问。
运行npm run build报错 error:0308010C:digital envelope routines::unsupported
这个错误通常是由于使用了较旧版本的 Node.js 导致的。可以尝试升级 Node.js 的版本,或者在 npm run build 命令前加上 NODE_OPTIONS=--openssl-legacy-provider,例如:
```bash
NODE_OPTIONS=--openssl-legacy-provider npm run build
```
这样可以使用旧版 OpenSSL 提供的加密算法来解决问题。如果还有其他问题,请提供更多信息,我会尽力帮助你解决。
阅读全文