解决 Jenkins 报 /usr/bin/env: node: 没有那个文件或目录
一、环境说明CentOS 7.6Jenkins 2.164.3Node 14.13.0二、问题说明服务器 Node 版本原为 10.13.0,后因部署新项目需使用 14.13.0 版本。因此全局卸载 Node,安装 NVM 来管理 Node 。当使用 Jenkins 构建时候,发生 /usr/bin/env: node: 没有那个文件或目录,如下图三、问题排查过程1、确定服务器 NVM 和 Nod
一、环境说明
- CentOS 7.6
- Jenkins 2.164.3
- Node 14.13.0
二、问题说明
服务器 Node 版本原为 10.13.0,后因部署新项目需使用 14.13.0 版本。因此全局卸载 Node,安装 NVM 来管理 Node 。当使用 Jenkins 构建时候,发生 /usr/bin/env: node: 没有那个文件或目录
,如下图
三、问题排查过程
1、确定服务器 NVM 和 Node 是否正常(没问题)
2、确定 NVM 是否已自动创建 Node 环境变量(没问题)
3、确定 Jenkins 执行脚本是否识别 Node(有问题)
4、确定 Jenkins 执行脚本是否识别 Node 环境变量(有问题)
5、经与运维人员沟通,增加以下两条命令,可正常执行(PS:服务器一般由运维人员管理,安装 NVM 经过领导同意后我才折腾)
6、几步折腾后,疑惑:NVM 安装都是重启终端才能识别,难道 Jenkins 也要重启才能识别 Node ?结果依然没用。。。
7、和运维人员继续沟通,通过 source /etc/profile
更新环境变量,依然没用。。。
四、通过全局属性添加环境变量来识别 Node
系统管理 > 系统设置 > 全局属性 > 环境变量
五、通过安装 nvm-wrapper 插件管理构建 Node
虽然可以通过 export 环境变量和 Jenkins 中配置环境方式让 Jenkins 识别到 Node,可满足不了不同的项目版本使用不同的 Node 版本需求,而 nvm-wrapper 则可以做到
1、在 Jenkins 中安装 nvm-wrapper 插件,系统管理 > 插件管理 > 可选插件
2、配置项目级别 Node 版本,项目(要构建的项目) > 配置 > NVM Settings
更多推荐
所有评论(0)