NPM适用于命令行,但不适用于Jenkins

时间:2018-06-06 21:18:18

标签: angularjs jenkins npm

我无法让Jenkins使用" npm"命令来自"执行shell" (在" Build"步骤下)。

我正在尝试设置一个新的Jenkins实例(前一个实例的副本)。我刚刚导入旧作业,现在正在安装这些作业所依赖的各种服务(例如maven,nodejs,ansible等)。

我无法获得nodejs和npm,尤其是设置。

当我输入命令" npm install"在命令行上,我得到以下内容:

uws@9.14.0 install /var/lib/jenkins/workspace . . .
. . . 
Binary is fine
added 1282 packages in 36.424s

当我尝试使用Jenkins执行shell运行相同的命令时,我得到以下内容:

+ npm install
/tmp/jenkins7750702649955218109.sh: line 2: npm: command not found
Build step 'Execute shell' marked build as failure

为什么我可以从命令行访问此命令,但不能访问Jenkins?

我检查了一些事情:

- "节点"的路径和" npm"都在路上。至少"快捷方式"在路径上(这在之前的Jenkins实例中有效)。

- 节点和npm二进制文件具有root:root所有权,但其安全设置为(当前)755(或-rwxr-xr-x)。

- 我安装了nodejs插件。不知道如何使用它,但它的设置与以前的Jenkins实例上的设置相匹配。两个实例都使用execute shell(而不是任何特殊的Jenkins工具)来运行" npm"命令,虽然只有旧版本有效。

那么,我还应该检查一下我不是吗? Jenkins需要什么来访问" npm"命令?

1 个答案:

答案 0 :(得分:1)

在Jenkins中尝试以下选项

选项1:

enter image description here

选项2:

enter image description here