sudo权限执行node时,环境变量找不到pwd?
process.env.PWD这个变量,在sudo权限下面执行node时候消失了,有人知道为什么吗
2 回复
并不是说process.env.PWD这个变量消失了,是process.env都变了,使用sudo执行时切换了环境变量。但它使用的又不是root用户的环境变量(应该是系统的安全策略,很多环境变量都没有保留。)这时如果还想使用这些环境编辑,就得重新set。
BTW, Do not run Node.js as root.
如楼上所说,整个 shell 的环境都变了。
如果非要在 sudo 环境下使用当前 shell 的环境变量,可以这样:
sudo env PATH=$PATH <your command>