我需要在没有 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的情况下执行此命令?
答案 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发行版)进行更改