如何在Windows系统的PowerShell中设置环境变量?
在PowerShell中设置环境变量的正确方法
一、临时生效(仅当前PowerShell会话)
正确命令是:
$env:NODE_ENV = 'production'
这个命令本身是有效的,没生效大概率是你没验证或者后续程序没重新读取变量。执行下面的命令检查是否设置成功:
echo $env:NODE_ENV
如果输出production说明设置没问题,要是程序没识别,得重启程序——程序只会在启动时读取环境变量。
二、永久生效(用户级别)
要让变量在所有新启动的PowerShell会话中生效,执行:
[Environment]::SetEnvironmentVariable("NODE_ENV", "production", "User")
执行后需要重启PowerShell才能生效,或者用以下命令让当前会话立即加载新变量:
$env:NODE_ENV = [Environment]::GetEnvironmentVariable("NODE_ENV", "User")
三、永久生效(系统级别,需管理员权限)
要让所有用户都能使用该变量,右键以管理员身份打开PowerShell,执行:
[Environment]::SetEnvironmentVariable("NODE_ENV", "production", "Machine")
同样需要重启PowerShell或手动加载变量才能看到效果。
你之前的错误命令说明
$SET NODE_ENV='production':PowerShell无此语法,直接报错SET NODE_ENV='production'/SET NODE_ENV=production:这是CMD的命令格式,在PowerShell中执行后仅对CMD环境生效,PowerShell不会同步,所以用echo $env:NODE_ENV看不到结果,不推荐这么用。
内容的提问来源于stack exchange,提问作者PPs
相关产品推荐
相关产品推荐

