Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何使用Chef安装nodejs和npm,以便root之外的用户可以使用它大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
太好了,所以我已经在Chef上安装了node和npm.但我不能使用它,除非我是root用户,因为Chef以root身份做所有事情,显然npm不知道如何处理.文档没有说明如何处理这个问题,而且我看到的其他任何地方都建议更改〜/ .npm的权限(这意味着要更改root用户〜/ .npm的权限),这感觉非常错误.

允许盒子上的所有用户使用Npm而不会遇到大量错误的正确安装过程是什么:

npm ERR! Error: Attempt to unlock SELEnium-webdriver@^2.44.0,which hasn't been locked

解决方法

首先让我确保我正确理解你的场景

>您已安装Node.js.
>您已安装NPM
>您已经制定了Node.js项目并希望使用NPM(在package.json中定义的那些)安装其依赖项

如果我在那里正确理解你,那么你将需要调用npm命令作为目标用户,并将当前工作目录设置为package.json文件所在的项目目录.

您可以使用执行块执行此操作,但您需要找到一种方法来定义它应该执行的时间.根据您的部署的细粒度,您可以将其基于package.json更改,例如:

cookbook_file 'package.json' do
  source 'package.json'
  notifies :run,'execute[npm_install]',:immediately
end

execute 'npm_install' do
  command 'npm install'
  user 'nodejs'
  cwd '/opt/nodejs/myapp/'
  action :nothing
end

这样,只要你的package.json文件发生变化,它就会重新运行npm install命令,但不会这样,因此连续运行是安全的.

执行资源是少数不是幂等的资源之一

在这种情况下,该进程将作为nodejs用户生成(必须在执行时存在),因此任何前往〜/ .npm的资源都将转到/home/nodejs/.npm并且应由该用户拥有并且小组.

如果您无法以受限用户身份运行npm命令,只要您具有相应的权限,就可以在命令中添加sudo以允许npm install作为受限用户运行,具有提升

编辑:我刚刚注意到这个问题是两年了….

大佬总结

以上是大佬教程为你收集整理的node.js – 如何使用Chef安装nodejs和npm,以便root之外的用户可以使用它全部内容,希望文章能够帮你解决node.js – 如何使用Chef安装nodejs和npm,以便root之外的用户可以使用它所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。