process.env不包含HOME信息的任何原因?

时间:2016-08-02 20:38:38

标签: javascript node.js environment-variables

我尝试使用AWS,它会检查用户目录中的凭据信息。它通过使用process.env,然后解压缩用户的主目录来完成此操作。

然而,在收到HOME路径未设置的错误后,我检查了自己并注意到process.env调用没有输出HOME数据。

我尝试为HOME =%UserProfile%设置系统和环境变量而没有运气。任何想法为什么这不起作用?

我使用eclipse neon,我在公司的笔记本电脑上使用NodeJS进行开发。如果存在任何阻止程序访问用户主目录的典型安全功能。

的输出
var env = process.env;
console.log(env);

是:

{ 
  APPDATA: 'C:\\Users\\myusername\\AppData\\Roaming',
  PATH: 'C:/Program Files/Java/jre1.8.0_102/bin/server; (ETC... huge list)
  SystemDrive: 'C:',
  SystemRoot: 'C:\\WINDOWS',
  TEMP: 'C:\\Users\\myusername\\AppData\\Local\\Temp',
  TMP: 'C:\\Users\\myusername\\AppData\\Local\\Temp' 
}

感谢您的见解!谷歌只返回了登录的手册页,这显然是该字段的设置位置?希望你们有所作为。

另外,我不知道如何设置安全性,无论如何也不会回答这些问题。这主要是一种好奇的事情,可能会在某处快速修复。

1 个答案:

答案 0 :(得分:1)

我不确定您拥有哪些安全设置或者它们可能对Node中的环境变量产生什么影响,但您应该能够使用{{1}获取当前用户的主目录}(内置于Node中):

os.homedir()

请参阅https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_homedir