linux – 生产服务器上的NodeJS – 权限
我希望节点和npm可用于系统上的任何用户.
在我们的团队中,当有人从git更新代码时,他们运行:sudo -u www-data git pull 所以无论它是什么项目,我们总是通过www-data用户. 现在我们有了新的Node项目,需要做同样的事情.在我们的生产服务器上,我们无法依赖一个用户处理有关节点的所有内容 – 如果他明天离开会怎么样? 所以我们不使用NVM,而是将节点作为根安装为described here 它很好,所有用户都看到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 ins仍然进入我的主文件夹? 解决方法
您可以从某个用户指定全局安装的目录:
在?/ .npmrc中设置prefix =?/ .where_to_install 然后在PATH变量中添加可执行文件的正确位置(如?/ .npm / bin) 顺便问一下,在你的情况下,www-data的主目录是什么? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |