解决 Jenkins 报 /usr/bin/env: node: 没有那个文件或目录

8 篇文章 0 订阅
7 篇文章 0 订阅

一、环境说明

  • 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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值