--openssl-legacy-provider is not allowed in NODE_OPTIONS error Command failed with exit code 9.
时间: 2023-10-13 18:06:53 浏览: 227
这个错误是由于 OpenSSL 库的版本不兼容导致的。可以尝试更新 OpenSSL 库或者使用较旧版本的 Node.js。如果您使用的是较新版本的 Node.js,您可以尝试使用以下命令来禁用 OpenSSL 的默认提供程序并启用旧版本的提供程序:
```
NODE_OPTIONS="--openssl-legacy-provider" node your_script.js
```
这将使用旧版本的 OpenSSL 提供程序来解决兼容性问题。
相关问题
--openssl-legacy-provider is not allowed in NODE_OPTIONS
当你在使用 NODE_OPTIONS 环境变量时,出现"--openssl-legacy-provider is not allowed in NODE_OPTIONS"的错误提示,这是因为当前版本的 Node.js 不允许在 NODE_OPTIONS 中使用 --openssl-legacy-provider 选项。
要解决这个问题,你可以尝试以下方法:
1. 清空 NODE_OPTIONS 环境变量:运行命令"export NODE_OPTIONS=",或者在 Windows 系统中运行"set NODE_OPTIONS=",这样可以清空 NODE_OPTIONS 环境变量,避免 --openssl-legacy-provider 选项的影响。
2. 去掉 --openssl-legacy-provider 选项:如果你需要保留 NODE_OPTIONS 环境变量中的其他选项,可以尝试去掉 --openssl-legacy-provider 选项。你可以在命令行中运行 node,然后在控制台中输入"process.env.NODE_OPTIONS = process.env.NODE_OPTIONS.replace('--openssl-legacy-provider', '')",然后回车,即可去掉该选项。
请根据你的具体需求选择适合的方法来解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [windows报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS解决](https://blog.csdn.net/zhu_liu_kun/article/details/130840151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
node: --openssl-legacy-provider is not allowed in NODE_OPTIONS 怎么解决
当你在使用 Node.js 运行程序时,如果出现了 "node: --openssl-legacy-provider is not allowed in NODE_OPTIONS" 的错误提示,这是因为在 NODE_OPTIONS 环境变量中使用了 --openssl-legacy-provider 选项,而该选项已经被弃用。为了解决这个问题,你可以采取以下几种方式:
1. 删除 NODE_OPTIONS 环境变量中的 --openssl-legacy-provider 选项。你可以在命令行中输入 "SET NODE_OPTIONS=" 命令来清空 NODE_OPTIONS 环境变量。
2. 如果你需要继续使用 NODE_OPTIONS 环境变量中的其它选项,可以考虑去掉 --openssl-legacy-provider 选项。在命令行中运行 node,然后在控制台中输入 "process.env.NODE_OPTIONS = process.env.NODE_OPTIONS.replace('--openssl-legacy-provider', '')",然后回车,即可去掉该选项。
3. 在命令行中直接运行 "node --openssl-legacy-provider=false" 命令,该命令会将 NODE_OPTIONS 环境变量清空,从而避免了 --openssl-legacy-provider 选项的影响。