Node.js 无法读取 Mac 本机终端中设置的 env 变量

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

我正在从 VS Code 运行 Node.js 应用程序。我想将数据库密码保存在环境变量中。我在 Mac 本机终端应用程序上导出了数据,并且在 echo 上,我能够检索数据。

export MONGO_PASSWORD="PASSWORD"
echo $MONGO_PASSWORD // prints the password

但是,当我在 VS Code 中打开集成终端时,它不显示该值。

echo $MONGO_PASSWORD // prints blank

此外,当我连接到节点 CLI 并输入 process.env 时,它不包含我的变量。

process.env.MONGO_PASSWORD // prints undefined

作为解决方法,我能够从 Mac 上的 ~/.zshrc 文件设置和导出变量。但是,我仍然很好奇为什么 VS Code 集成终端无法读取 Mac 终端中导出的值,以及是否有办法解决这个问题。

node.js visual-studio-code terminal environment-variables development-environment
1个回答
0
投票

我仍然好奇为什么 VS Code 集成终端无法读取 Mac 终端中导出的值以及是否有办法解决这个问题。

zsh
中,
export
的作用与它在 相关
man
页面中所说的完全一样

指定的名称被标记为自动导出到随后执行的命令的环境[…]

VSCode 中集成终端中的导出与 Terminal.app 中生成的环境分开执行,因此一个人不会知道另一个人中导出的名称。

没有办法“修复”此行为,因为它按设计/预期运行。

© www.soinside.com 2019 - 2024. All rights reserved.