通过 yum install node,默认安装的是老版本 6.x,而现在一般的编译都要求版本不止于 6.x

第一次尝试

然后通过安装 n 工具,升级 node,然后选择版本为最新安装的版本,修改 ~/.bash_profile 变量后,使用 node -v 发现版本也是正确。但是在 Jenkins 中,一直调用的还是老版本

第二次尝试

通过配置 Jenkins 自动安装 NodeJs ,如下图:

 

 

 

在实际使用中发现这种方式,速度太慢(全局已配置为国内源)

第三次尝试

卸掉 nodeJs 和 npm 后,通过 wget 源方式安装后,配置  /etc/profile ,刷新 /etc/profile ,然后软连 ln -s /opt/nodejs/node-v15.12.0-linux-x64/bin/node /usr/local/bin/node ,在构建时提示找不到命令。

最终突然想到软连指向的变量路径为 /usr/local/bin/node,/usr/local 是用户级别的,Jenkins 是单独的用户,所以有可能找不到,将软连改为或者新增 /usr  ,问题就迎刃而解。

归根结底是对于 linux 的目录结构和环境变量不熟悉。

题外话

另外 .bash_profile 是登录用的环境变量,在第一次尝试时,单纯的修改这个变量没有太大意义,应该修改 /etc/profile 系统环境变量,然后软连 /usr 应该也可以解决这个问题。

posted on 2021-03-29 14:43  芝麻的西瓜  阅读(915)  评论(0编辑  收藏  举报