sudo权限执行node时,环境变量找不到pwd?
发布于 9 年前 作者 zhuyingda 4140 次浏览 最后一次编辑是 8 年前 来自 问答

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>
回到顶部