我正在从 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 终端中导出的值,以及是否有办法解决这个问题。
我仍然好奇为什么 VS Code 集成终端无法读取 Mac 终端中导出的值以及是否有办法解决这个问题。
在
zsh
中,export
的作用与它在 相关 man
页面中所说的完全一样
指定的名称被标记为自动导出到随后执行的命令的环境[…]
VSCode 中集成终端中的导出与 Terminal.app 中生成的环境分开执行,因此一个人不会知道另一个人中导出的名称。
没有办法“修复”此行为,因为它按设计/预期运行。