方法一:
在如下链接下载文件:node二进制
解压后需要修改里面的npm文件,具体node放置的位置
require('/opt/node-v20.1.0-linux-x64-glibc-217/lib/node_modules/npm//lib/cli.js')(process)
如果需要用nvm管理,把下载的node文件复制到下面目录里,即可管理
/root/.nvm/versions/node
方法二:
需要升级gcc和安装对应的glibc库,这里动作比较大,不是很推荐,可以参看:node: /lib64/libm.so.6: version `GLIBC_2.27’ not found
中间过程还会遇到诸多坑,需要走的路比较多
安装scl时会报找不到包
yum install -y centos-release-scl
用rpm的方式解决
rpm -ivh https://cbs.centos.org/kojifiles/packages/centos-release-scl-rh/2/3.el7.centos/noarch/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
rpm -ivh https://cbs.centos.org/kojifiles/packages/centos-release-scl/2/3.el7.centos/noarch/centos-release-scl-2-3.el7.centos.noarch.rpm
rpm安装完,又会发现yum不行,需要更改yum repo文件,在/etc/yum.repos.d目录里会发现多了CentOS-SCLo-scl.repo和CentOS-SCLo-scl-rh.repo,分别修改里面的url成aliyun的
## CentOS-SCLo-scl.repo文件
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
# baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
## CentOS-SCLo-scl-rh.repo
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
#baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
安装完,可能运行node -v还会报错’GLIBcXX 3.4.20’not found
用以下方式解决
cd /usr/local/lib64
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
sudo unzip libstdc.so_.6.0.26.zip
sudo cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
ls -l | grep libstdc++ (just to check the symlink)
sudo rm libstdc++.so.6
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6