我在带有Ubuntu服务器12.04的AWS EC2盒子上运行Node / Express Web服务器,并在.bashrc文件中设置了4个环境变量来访问我的数据库。如果我以普通用户身份运行服务器,它可以正常工作。但是,如果我将节点作为sudo运行,则环境变量是未定义的。
知道为什么它不起作用吗?
答案 0 :(得分:5)
环境变量未传递给sudo
:How to keep Environment Variables when Using SUDO
诀窍是将环境变量添加到sudoers config:
sudo visudo
添加这些行
Defaults env_keep +="http_proxy" Defaults env_keep +="https_proxy"
表格ArchLinux wiki https://wiki.archlinux.org/index.php/Sudo#Environment_variables_.28Outdated.3F.29