node报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

9,704 阅读2分钟

cmd输入node -v查看node版本号时,发现报错:

node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

之前是从来没有遇到过的。然后查了一下,大概意思是在NODE_OPTIONS中不允许使用openssl-legacy-provider,这个NODE_OPTIONS是系统变量。--openssl-legacy-provider这个不知道是什么,不过最近在做视频会议的功能,里面有报错提到过这个,应该是为了运行视频会议功能时设置的。

--openssl-legacy-provider
注:这是一个命令行参数,用于设置节点的选项。具体来说,它指定了节点使用 OpenSSL 旧版提供程序来处理加密和解密操作。这个选项可能会影响节点的性能和安全性,因此需要谨慎使用。

如果把这个给改了视频会议功能会不会不能运行,然后我就找到了怎么更改,有两种

方法一:

删除之前报错添加报错添加的该条环境变量(NODE_OPTIONS)并重启系统,必要时再添加回来。

image.png

方法二:

临时设置环境变量(Windows系统),并在该cmd窗口继续执行要执行的命令。

set NODE_OPTIONS=""

第一种应该是一劳永逸的方法,不过目前视频会议功能还没有完全结束,所以第一种删除还要再添加回去,比较麻烦,所以选择了第二种。

使用set进行环境变量设置时,只对当前对话框程序有效。当cmd设置对话框关闭时,环境变量复原。永久修改系统环境变量。使用setx

附加:

查看当前所有可用的环境变量

输入 set 即可查看。

修改环境变量 (覆盖)

输入 “set 变量名=变量内容”即可

给变量追加内容(追加)

输入“set 变量名=%变量名%;变量内容”。

使用set进行环境变量设置时,只对当前对话框程序有效。当cmd设置对话框关闭时,环境变量复原。永久修改系统环境变量。使用setx

来源于原文链接:blog.csdn.net/m0_75186659…