项目场景:
因为daily build服务器环境加入新项目,使用不同的node版本,尝试以下办法:
1、安装nvm,结果:过于麻烦,失败率大;
2、下载多个node版本,做路径切换,不使用全局变量,虽然麻烦,但直接可用。
问题描述:
为了不耽误时间,采用方法2。如有其他方法,后续更新
解决方案:
编译过的node版本地址如下,选择系统和架构都合适的版本。
https://nodejs.org/dist/
案例步骤如下:
以下案例,下载版本linux x64 14.17
cd /usr/local/src
wget https://nodejs.org/dist/latest-v14.x/node-v14.17.3-linux-x64.tar.gz
tar xf node-v14.17.3-linux-x64.tar.gz
cd node-v14.17.3-linux-x64/bin
./node -v 显示node版本
多准备几个版本,比如10.21, 15.14等
daily_build.sh在执行npm run命令时写作:
/usr/local/src/node-v14.17.3-linux-x64/bin/npm run scripts
完结
补充:如果想切换全局的npm版本。
# 删除环境变量里的node
rm -f /usr/bin/node
rm -f /usr/bin/npm
rm -f /usr/bin/npx
# 重新添加环境变量,已知bin目录只有npx\npm\node
ln -s /usr/local/src/node-v14.17.3-linux-x64/bin/* /usr/bin/
如果提示
/usr/bin/env: ‘node’: Too many levels of symbolic links
查看环境变量的node是否重复,比如/usr/local/bin/, usr/local/sbin/, /usr/sbin/下是否存在node。