我希望无论是哪个用户,都可以使用
这个命令最后失败了,因为 `npm` 尝试在我的主目录写入锁定文件。所以:
类似地,在安装
node
和npm
。在我们的团队中,当有人从git更新代码时,会运行sudo -u www-data git pull
,因此无论是什么项目,我们总是通过www-data
用户来进行操作。现在我们有了一个新的Node项目,需要做同样的事情。在我们的生产服务器上,绝不会依赖于一个人处理有关node的所有事情-如果他明天离开了怎么办?所以我们没有使用NVM,而是像这里描述的那样将Node安装为root。一切正常,所有用户都可以看到node
和npm
可执行文件。当我们尝试使用它们时问题就出现了。您想要做的是:cd /var/www/node_project
sudo -u www-data git pull
sudo -u www-data npm install
这个命令最后失败了,因为 `npm` 尝试在我的主目录写入锁定文件。所以:
/home/user/.npm
而不是全局某处或 /var/www/.npm
,这是 www-data 用户的主目录。类似地,在安装
sudo npm install -g typings
然后运行 sudo -u www-data typings install
后,你会得到一个错误,因为它尝试写入 /home/user/.config/configstore/insight-typings.json
sudo -u www-data
, 为什么 `npm` 仍然进入我的主文件夹?
sudo -u www-data tsc
,tsc应该将其所需的任何内容写入www-data主目录而不是user1主目录。www-data主目录是/var/www
。 - Tomasuser
用户的id和www-data一样吗? - loadaveragewww-data
的ID是33,user1
的ID是1003。 - Tomas