通过 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 应该也可以解决这个问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现