初级Web开发者求助:如何设置NODE_TLS_REJECT_UNAUTHORIZED环境变量?
解决「Error: certificate has expired」的环境变量设置方法
临时生效(仅当前终端会话)
这个方式只在你当前打开的终端窗口里有效,关闭终端后就会失效,适合临时测试:
- Linux/macOS(bash/zsh终端):直接在终端输入以下命令,回车执行:
export NODE_TLS_REJECT_UNAUTHORIZED='0' - Windows(PowerShell):输入这条命令:
$env:NODE_TLS_REJECT_UNAUTHORIZED='0' - Windows(CMD命令提示符):输入这条命令:
set NODE_TLS_REJECT_UNAUTHORIZED=0
永久生效(所有终端会话)
如果希望每次打开终端都自动生效,可以把环境变量配置到系统或用户的配置文件里:
- Linux/macOS(bash终端):
- 打开用户目录下的
.bashrc或.bash_profile文件(比如用nano ~/.bashrc命令打开) - 在文件末尾添加一行:
export NODE_TLS_REJECT_UNAUTHORIZED='0' - 保存文件后,在终端执行
source ~/.bashrc(或对应你编辑的文件名),或者重启终端生效
- 打开用户目录下的
- Linux/macOS(zsh终端):
- 打开用户目录下的
.zshrc文件(nano ~/.zshrc) - 在末尾添加
export NODE_TLS_REJECT_UNAUTHORIZED='0' - 执行
source ~/.zshrc或重启终端生效
- 打开用户目录下的
- Windows:
- 方法1(PowerShell永久生效):
- 终端输入
notepad $PROFILE打开PowerShell配置文件 - 添加一行
$env:NODE_TLS_REJECT_UNAUTHORIZED='0',保存关闭 - 重启PowerShell生效
- 终端输入
- 方法2(系统全局环境变量):
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」或「系统变量」区域点击「新建」
- 变量名填
NODE_TLS_REJECT_UNAUTHORIZED,变量值填0 - 依次点击「确定」保存,重启终端或应用生效
- 方法1(PowerShell永久生效):
重要提醒
NODE_TLS_REJECT_UNAUTHORIZED='0'会绕过Node.js的证书验证,只适合开发环境临时解决问题,绝对不能在生产环境使用,否则会带来严重的安全风险。
内容的提问来源于stack exchange,提问作者xarielah
相关产品推荐
相关产品推荐

