CentOS7中安装node20版本

437 阅读2分钟

一、使用fnm安装nodejs

1、下载fnm-linux.zip到本地服务器中,我习惯放在/usr/loacal中

2、解压、设置权限

unzip fnm-linux.zip
chmod 777 fnm

3、设置环境变量,添加到/etc/profile文件末尾,配置生效

export PATH=$PATH:/root
source /etc/profile

4、添加到~/.bashrc文件末尾

eval "$(fnm env --use-on-cd --shell bash)"
source ~/.bashrc

5、查看fnm版本命令验证是否安装成功

fnm --version
fnm 1.37.2

二、node.js版本安装

1、安装并使用Nodejs

fnm install 20
fnm use 20

2、验证Nodejs版本

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 (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

三、解决安装问题

1、切换阿里云yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

2、查看你安装的scl

yum list installed|grep "scl"

3、删除scl重新安装

yum remove centos-release-scl.noarch
yum remove centos-release-scl-rh.noarch
yum install -y centos-release-scl centos-release-scl-rh

4、配置scl国内源阿里云

修改/etc/yum.repos.d中的文件 CentOS-SCLo-scl.repo

[centos-sclo-sclo] name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

修改/etc/yum.repos.d中的文件CentOS-SCLo-scl-rh.repo

[centos-sclo-sclo] name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

5、清理缓存

yum clean all && yum makecache

四、升级各种依赖

1、升级 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++

2、升级 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 --disable-dependency-tracking
make && make install
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make

3、升级 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
make && make install

4、升级 libstdc++

wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
cp libstdc++.so.6.0.26 /lib64/
cd /lib64
cp libstdc++.so.6 libstdc++.so.6.bak
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6

5、验证nodejs

node -v
v20.17.0

五、升级中可能会遇到的问题

1、升级glibc2.28遇到的问题 image.png

解决方法:
有网:
yum install python3
yum install bison
无网:
下载安装包rpm安装

2、无法make或makefile无法找到的问题

# 执行上一步(五-1操作后)重新编译
cd /root/glibc-2.28/build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

# 再次
make && make install

六、最快捷方式

直接下载支持glibc-2.17的node版本 之后就可以直接使用 image.png

更多问题解决方案

本文参考地址