1

在配置了全局包的slave上使用NodeJS工具时,报如下错误:

env: can't execute 'node': No such file or directory

如果构建在 master 中的 executor 上运行,则没有错误,并且包按预期安装。

我正在使用 Kubernetes 插件jenkins/jnlp-slave:3.27-1作为从属映像。

Jenkins 版本:2.164.2
Kubernetes 插件:1.14.9 NodeJS 插件
:1.2.9

注意:这不是Jenkins 的副本 - env:'node':没有这样的文件或目录,因为我没有使用 alpine 图像,就像那个问题中的问题一样。

4

1 回答 1

0

我的詹金斯也有同样的问题。

“从 nodejs.org 下载”安装程序将节点包解压缩到本地目录中。

然后它将为 NodeJS 安装程序配置(“全局工具配置”)中“要安装的全局 npm 包”字段中列出的每个包运行“npm install -g”。

但是,它会在将系统 PATH 设置为提取节点的目录之前执行此操作,因此 npm 将找不到节点。

我确信这是 NodeJS Jenkins 插件中的一个错误。正如 agusluc 所说,您的选择是创建自定义 jnlp-slave 映像(这就是我所做的),或者向插件的开发人员提交错误并希望它能够得到修复。

于 2019-12-20T09:52:14.043 回答