这个问题在Ubuntu 20.04的sudo apt upgrade
更新后出现。以前,我在node v18.0.0和npm 8.7.0上工作,但是在更新后出现了问题,我运行了命令nvm install node --reinstall-packages-from=node
,但是没有帮助。现在我使用npm v8.12.1,node v18.4.0。当运行命令npm start
时,我收到了消息:
> mini-app@0.0.0 start
> cross-env PORT=10888 HTTPS=false react-scripts start --openssl-legacy-provider
node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
文件package.json
的一部分如下所示:
"scripts": {
"start": "cross-env PORT=10888 HTTPS=false react-scripts start --openssl-legacy-provider",
"build": "react-scripts build",
"predeploy": "npm run build",
"deploy": "vk-miniapps-deploy",
"tunnel": "vk-tunnel --insecure=1 --http-protocol=https --ws-protocol=wss --host=localhost --port=10888"
},
我回到了npm 8.7.0版本,npm install -g npm@8.7.0
,但现在即使是节点版本的输出也显示了相同的错误:
node -v
node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
尝试更新:
nvm install 12.13.0
v12.13.0 is already installed.
Now using node v12.13.0 (npm v)
6条答案
按热度按时间sirbozc51#
我在MacOS上遇到了这个问题。在终端上,我运行
export
来检查我的环境变量,发现NODE_OPTIONS=--openssl-legacy-provider
已经被设置。然后我简单地运行unset NODE_OPTIONS
,然后就可以再次使用节点了。xt0899hw2#
在Linux上,您需要编辑
/etc/ssl/openssl.cnf
以取消注解几行,这将启用遗留提供程序支持。我在Fedora 36上;我只好改了这些台词:
至:
jq6vz3qz3#
您可以尝试对NODE_OPTIONS生产变量执行取消设置操作。可以从命令行执行此操作。
您的Node版本似乎已经是最新的(版本18)。类似的问题已经被处理并解决了,请点击下面的Github链接:https://github.com/microsoft/vscode/issues/136599
希望以上资源中的提示能有所帮助!此致,彼得
8wtpewkr4#
我安装了新版本,但没有使用
3mpgtkmj5#
仅运行此命令
x7yiwoj46#
对我来说,仅取消设置NODE_OPTIONS并不能解决问题,必须使用
解决问题