【问题标题】:NODE_ENV in windows powershell returns undefinedwindows powershell中的NODE_ENV返回未定义
【发布时间】:2018-08-11 02:22:15
【问题描述】:

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

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

【问题讨论】:

  • PowerShell 可以读取和设置环境变量。为什么你认为情况并非如此? (描述问题,而不是你对问题的解释。)

标签: node.js windows powershell command-line


【解决方案1】:

在WindowsMachineUserProcess中可以设置3个级别的环境变量,它们在子进程启动时从父进程继承。当然User 级别的只有在该用户的上下文中运行的进程才会继承。

另一方面,如果父进程(例如:System)更改了变量,这些更改不会自动传播到已经运行的子进程(例如:PowerShellnode),除非您重新启动这些。

从这个意义上说,PowerShell 也自动继承了 env-vars,你可以在 env:PSDrive 下看到:

ls env:\*

如果您看不到新变量并且希望避免重新启动,您也可以使用[System.Environment] .NET 类在已经运行的控制台中读取和填充它,例如:

$env:NODE_ENV = [System.Environment]::GetEnvironmentVariable('NODE_ENV',[System.EnvironmentVariableTarget]::Machine)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-19
    • 2017-10-29
    • 2019-11-17
    • 1970-01-01
    • 2016-11-18
    • 2019-01-03
    • 2013-08-30
    • 2017-10-24
    相关资源
    最近更新 更多