Windows PowerShell中的NODE_ENV返回undefined

问题描述 投票:0回答:1

Windows路径设置为nodejs。但是,除非使用命令提示符AS Admin,否则我无法读取process.env.NODE_ENV。

我希望能够在Windows PowerShell中设置和读取NODE_ENV。

node.js windows powershell command-line
1个回答
1
投票

环境变量可以在Windows MachineUserProcess中的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)
© www.soinside.com 2019 - 2024. All rights reserved.