Jenkins:npm安装失败没有sudo

时间:2017-02-22 10:05:17

标签: node.js jenkins

我需要在没有 sudo 的情况下执行 npm install 命令,但是当我尝试执行此命令时,我的Jenkins作业中出现此错误 这是错误控制台消息:

+ npm install
  

npm WARN grunt-bump@0.8.0需要grunt对等@> = 1.0.1但没有   安装。 npm WARN Site_mmm@0.0.1没有存储库字段。警告   Site_mmm@0.0.1没有许可证字段。错误的ERR! Linux 3.13.0-32-generic npm   呃! argv“/ usr / local / bin / node”“/ usr / local / bin / npm”“install”npm   呃!节点v5.1.0 npm ERR! npm v4.0.2 npm ERR!路径   /var/lib/jenkins/workspace/mmm/node_modules/.staging npm ERR!码   EACCES npm ERR! errno -13 npm ERR!系统调用mkdir

     

npm ERR!错误:EACCES:权限被拒绝,mkdir   '/var/lib/jenkins/workspace/Site_SiFAST_-_Intégration_Continue/node_modules/.staging'   错误的ERR!在错误(本机)npm ERR! {[错误:EACCES:权限   否认,mkdir   '/var/lib/jenkins/workspace/Site_SiFAST_-_Intégration_Continue/node_modules/.staging']   错误的ERR!错误:-13,npm ERR!代码:'EACCES',npm ERR!系统调用:   'mkdir',npm ERR!路径:   '/var/lib/jenkins/workspace/Site_SiFAST_-_Intégration_Continue/node_modules/.staging'   } npm ERR!错误的ERR!请再次尝试运行此命令   根/管理员。

任何人都知道如何在没有sudo的情况下执行此命令?

3 个答案:

答案 0 :(得分:3)

我认为您需要通过使用chmod命令更改为您正在获取错误的目录的访问权限。更改它以使Jenkins用户能够创建目录

答案 1 :(得分:1)

感谢@pushpendra chouchan: 修正:

sudo chown -R [jenkins-user] /user/local/lib/node_modules/
sudo chown -R [jenkins-user] /user/local/bin/
sudo chown -R [jenkins-user] /user/local/lib/share/

答案 2 :(得分:0)

答案是在这里找到: Run shell command in jenkins as root user?

jenkins用户默认不是sudoer(https://wiki.archlinux.org/index.php/sudo#Using_visudo)。 所以不可能在命令之前添加sudo。

你可以尝试将jenkins添加到sudoers,但这对我不起作用。 我是从我添加的链接那样做的。

在jenkins配置文件/ etc / default / jenkins(对于大多数Linux发行版)或/ etc / sysconfig / jenkins(对于redhat / centOS发行版)进行更改