我有一个jenkins设置,最近我安装了NodeJS插件。在构建项目时,它在npm install时失败并显示以下错误输出,表明它无法访问Internet。
npm ERR! argv "/app/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/ecp-nodejs/bin/node" "/app/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/ecp-nodejs/bin/npm" "install" "-g" "browserify"
npm ERR! node v5.10.1
npm ERR! npm v3.8.3
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! syscall connect
我检查过Jenkins是在用户" jenkins"下运行的,所以我设置了npm代理,从终端,我可以使用该用户安装软件包。我已经为jenkins运行的系统上的root用户设置了代理身份验证。
但是jenkins无法下载软件包。我还应该配置其他任何设置吗?
答案 0 :(得分:0)
如果其他人有类似的问题,这是答案。经过一些谷歌搜索和修补,我发现jenkins在一个名为“jenkins”的用户下运行,但没有连接终端。
结果,即使我对詹金斯说,它也不会改为詹金斯用户。正确的方法是附加一个终端,如下所示:
$ su -s /bin/bash jenkins
在此之后,我以标准方式设置npm的代理:
$ npm config set proxy <whatever proxy>
$ npm config set https-proxy <whatever proxy>