其实本来很简单的一件事,结果因为某些问题,搞的超复杂。
曲折过程如下:
正常来说 yum install nodejs -y 是可以直接按照node的一个旧版本,大概是 v6.4左右。但是现在很多程序已经不支持了。 所以这里通过其中的一个node的 n模块进行更新。
正常来说,下面三行就搞定了。。。
yum install nodejs -y npm i n n stable
悲剧的是,n模块在下载对应版本的时候出现了网络错误(大概意思就是服务器连接被关闭了,也可能是客户端长时间未能下载成功被断开了吧。反正总之就是速度超级慢,导致下载失败)
再次运行 n stable 的时候,就会提示找不到路径(因为有锁,lock文件),所以不会重复下载。
最后只能手动把n清除,然后下载一个编译版的node包,然后link到系统路径。
说起来简单,但是清除n真的费老劲了。
首先删除n已经安装失败的node版本
n #进入版本选择界面,方向键选择版本,按d删除。逐个删除
揭下来,删除n模块,n模块的路径只能通过全局查找
find / -name node_modules
删掉系统目录下的 node_modules ,在执行 n -v的话显示找不到模块,那证明删除成功了。
然后再删除已经安装的旧版的nodejs
yum remove nodejs -y
之后执行以下手工清理
rm -rf /usr/lib/node_modules/npm /usr/lib/node_modules/npm/bin/npm /usr/bin/npm rm -rf /usr/local/n/versions/node /usr/local/bin/node
最后,重新安装编译版。
下载好需要版本的压缩包之后,解压到自己想存放的目录。 再执行链接即可
ln -s /path/to/node-v12.16.1-linux-x64/bin/node /usr/local/bin/node ln -s /path/to/node-v12.16.1-linux-x64/bin/npm /usr/bin/npm
再执行以下 node -v npm -v 输出正确信息,即可成功!