CNode

sudo权限执行node时,环境变量找不到pwd?

问答
Zzhuyingda发布于10 年前最后回复10 年前2 回复4753 浏览0 收藏

process.env.PWD这个变量,在sudo权限下面执行node时候消失了,有人知道为什么吗

查看回复

回复 (2)

Y
yuzhigang33#1·10 年前

并不是说process.env.PWD这个变量消失了,是process.env都变了,使用sudo执行时切换了环境变量。但它使用的又不是root用户的环境变量(应该是系统的安全策略,很多环境变量都没有保留。)这时如果还想使用这些环境编辑,就得重新set。

BTW, Do not run Node.js as root.

M
m31271n#2·10 年前

如楼上所说,整个 shell 的环境都变了。

如果非要在 sudo 环境下使用当前 shell 的环境变量,可以这样:

sudo env PATH=$PATH <your command>
参与回复
登录后即可参与回复。登录