使用npm升级
# 全局安装n
$ npm install -g n
# 升级到最新稳定版
$ n stable
# 升级到最新版
$ n latest
# 升级到定制版
$ n v7.10.0
# 切换使用版本
$ n 7.10.0 (ENTER)
不要怀疑,n就是一个升级nodejs的模块,这个升级方式简单。
升级之后问题来了,出现这么多错误:
node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/bin/node)
大致的意思就是少了相关的so库,实际本地有这些库,就是版本太低。
其中libstdc++.so库还比较容易解决,直接网上下载个替换即可。
cd /usr/local/lib64/ # 下载最新版本的`下载最新版本的libstdc.so_.6.0.26` wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip # 解压 unzip libstdc.so_.6.0.26.zip # 将下载的最新版本拷贝到 /usr/lib64 cp libstdc++.so.6.0.26 /usr/lib64 cd /usr/lib64 # 查看 /usr/lib64下libstdc++.so.6链接的版本 ls -l | grep libstdc++ # 删除原先的软连接(不放心可以备份) rm libstdc++.so.6 # 使用最新的库建立软连接 ln -s libstdc++.so.6.0.26 libstdc++.so.6 # 查看新版本,成功 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
上述下载地址来源:下载最新版本的libstdc.so_.6.0.26`-pudn.com
第2个库 libc.so.6 的问题解决过程就遇到一些问题。下面安装过程来源Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17' not found 的解决办法 - 简书
一:下载
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -xvf glibc-2.17.tar.gz
二:编译安装
#进入glibc-2.17目录中
cd glibc-2.17
#创建build目录
mkdir build
#进入build目录中
cd build
#执行./configure
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#安装
make && make install
三:查看结果
strings /lib64/libc.so.6 |grep GLIBC_
按上面的教程编译安装在configure过程失败了。后面又找到linux升级glibc_2.16,centos升级glibc(升级到 2.17版)_陈毓秀的博客-CSDN博客
得到解决。
解决问题的方法主要是 /etc/profile LD_LIBRARY_PATH路径多了一个$LD_LIBRARY_PATH 把这个路径去掉即可,注意有冒号也要去掉。去掉后执行 source /etc/profile 更新环境变量后,再次执行configure的过程即可完成该步骤,后面的就都比较顺利。执行完node就能正常运行了