linux下在线升级nodejs
因现有项目需要用一个截屏node包,此包必须新版本,所以紧急升级下测试环境nodejs,后续再升级线上,小小试了下node在线升级
方案1,使用npm安装n模块,使用n来升级nodejs
首先要知道nodejs是安装在那个用户底下的,然后切换到相应用户,当然也可以sudo
安装n模块:
npm
install
-g n
升级node.js到最新稳定版
n stable
升级node.js到最新版
n latest
升级node.js到制定版本
n v7.10.0
安装一半的时候也许会因为网络问题,最后挂了 经常出现的是curl: (56) SSL read: errno -5961
重新安装居然报错
cp: cannot stat `/usr/local/n/versions/node/7.10.0/lib': No such file or directory cp: cannot stat `/usr/local/n/versions/node/7.10.0/include': No such file or directory cp: cannot stat `/usr/local/n/versions/node/7.10.0/share': No such file or directory
这时候通过n - 7.10.0 来卸载掉,注意这里不要v字符了,重新安装,
如果一直n下载不到只能放弃这种升级方法,可以尝试下设置下代理,但是我没有代理ip所有没有继续研究下面的做法
看到网上有人推荐装一下,有代理ip的可以试试 brew install proxychains-ng;
并且在 /usr/local/etc/proxychains.conf 最后配上代理地址;
然后就可以在命令前面加上 proxychains4 使其走代理了,例如:
proxychains4 n stable
方案2,使用nvm来升级nodejs
可以从这里看到最新版本 https://github.com/creationix/nvm/blob/master/README.md#install-script
下载安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
或者wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
把配置项目配置到环境变量中,这里可以设置的nvm的环境变量路径,
我这里就用默认的,直接命令使用默认配置退出
source ~/.bashrc
查看安装结果
nvm --version
0.33.2
安装node.js制定版本或者/stable/latest,我这里就安装指定的版本
nvm install 7.10.0
安装完成
node -v
7.10.0
如果版本没有切换过来的,使用nvm use node --version
时间上也retry了几次,整个过程,n install安装了2次,nvm install了3次,不知道是公司网络问题,还是墙的问题。以下是安装的心酸过程,总算可以了,用nvm下载比n快,但是nvm2次在90%多的时候挂住