- 安装 n
npm install -g n
- 使用命令
// 切换版本
n 10.16.3
// 获取最新版本
n latest
// 删除版本
n rm 10.16.3
// 查看已安装版本
n ls
- 在 centos 使用 n 安装 18.16.0,会报错,如下
n 18.16.0
node -v
报以下错误:
错误一: node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
错误二:node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
解决错误一: 上网查询资料所知,新版的 node v18 开始 都需要 GLIBC_2.27 支持,可是目前系统内却没有那么高的版本,所以更新 GLIBC 即可
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz
cd glibc-2.28/ && mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
报错:
These critical programs are missing or too old: make bison compiler
Check the INSTALL file for required versions.
解决:
# 升级GCC(默认为4 升级为8)
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc*
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
# 升级 make(默认为3 升级为4)
wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
tar -xzvf make-4.3.tar.gz && cd make-4.3/
./configure --prefix=/usr/local/make make && make install
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make
# 安装 bison
yum install -y bison
#重新编译
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
解决错误二: 解决方法是升级libstdc++
1. 查看系统版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
2.
sudo yum provides libstdc++.so.6
3.
cd /usr/local/lib64
# 下载最新版本的libstdc.so_.6.0.26
sudo 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++
libstdc++.so.6 ->libstdc++.so.6.0.19
# 删除/usr/lib64原来的软连接libstdc++.so.6,删除之前先备份一份
sudo rm libstdc++.so.6
# 链接新的版本
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 查看新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
最终就可以正常使用 n 切换 node 版本了。
参考网址: www.cnblogs.com/dingshaohua… www.jianshu.com/p/050b2b777…