NodeJS – 获取使用cmd设置的环境variables

我只是想知道是否有任何方法可以简单地读取使用SET在cmd中设置的环境variables。 我已经阅读了关于process.env。[ENVVAR],但是当我console.log我设置在cmd中的variables,它显示未定义。 在其他线程上,我读了甚至根本不可能访问windows env。 variables。 那么究竟是对的呢?

我将把我的意见总结为一个答案。

从cmd窗口启动node.js时,会为该node.js进程创build当前用户环境的副本。 该环境可以通过process.env访问。

外部代理人不会改变这个环境。 一旦node.js进程启动,它的环境就只能属于node.js进程。

通过Windows Control Panel > System > Advanced System Settings > Advanced > Environment Variables ”更改Windows默认环境会影响在新创build的环境(例如新创build的cmd窗口)中设置的variables/值。 它不影响当前打开或运行的环境。

使用process.env ,你可以读取你自己环境中的所有现有的环境variables。 您可以直接修改process.env对象(更改值,删除属性等),这些更改将被您的进程中的任何其他代码访问process.env 。 但是对其他某些cmd窗口中的环境的外部更改不会影响正在运行的node.js程序中的环境。