Windows路径设置为nodejs。但是我无法阅读process.env.NODE_ENV ,除非使用命令提示符AS Admin。
我希望能够在Windows PowerShell中设置和读取NODE_ENV。
答案 0 :(得分:1)
环境变量可以在Windows Machine
,User
,Process
中的3个级别设置,这些级别在子进程启动时从父进程继承。当然User
级别的只有在该用户的上下文中运行的进程才会继承。
另一方面,如果父进程(例如: System )更改了变量,则这些更改不会自动传播到已经运行的子进程(例如: PowerShell ,或node
),除非您重新启动这些。
凭借这种感觉,PowerShell还会自动继承env-vars,您可以在env:
PSDrive下看到:
ls env:\*
如果您无法看到新变量并希望避免重启,您还可以使用[System.Environment]
.NET类在已经运行的控制台中读取和填充它,例如:
$env:NODE_ENV = [System.Environment]::GetEnvironmentVariable('NODE_ENV',[System.EnvironmentVariableTarget]::Machine)