centos7安装nodejs20版本


场景
cent os7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题

[root@172 ~]# npm -v
node: /lib64/libm.so.6: version `GLIBC_2.27’ not found (required by node)

node: /lib64/libc.so.6: version `GLIBC_2.25’ not found (required by node)

node: /lib64/libc.so.6: version `GLIBC_2.28’ 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.20’ not found (required by node)

node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required by node)

原因

查看系统内安装的glibc版本
然后再根据分析可得知 新版的node v18开始 都需要GLIBC_2.27支持,可是目前系统内却没有那么高的版本

[root@172 glibc-2.28]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5

GLIBC_2.17

解决办法
更新glibc
根据提示 安装所需要的glibc-2.28

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
[root]··/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

可能出现的错误
上步更新glibc 可能会发生错误。
如果没有错误 下边这一步 不用看。

make问题

configure: error:
*** These critical programs are missing or too old: make bison compiler
*** Check the INSTALL file for required versions.

解决办法:升级gcc与make

升级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

这时 所有的问题 都已经解决完毕 再重新执行上一步 更新glibc即可

cd /root/glibc-2.28/build

…/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
我的依旧报错:bison太老旧

configure: error:
*** These critical programs are missing or too old: bison
*** Check the INSTALL file for required versions.

看看我的bison版本多少

[root@172 ~]# bison -v

-bash: bison: 未找到命令
bison问题

yum install -y bison

这时 所有的问题 真的真的都已经解决完毕 再重新执行上一步 更新glibc即可

cd /root/glibc-2.28/build
…/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
继续更新glibc
make 和 make install在linux中就是安装软件的意思 简单这么理解就好。
这个过程较长,大约半小时左右,建议打一局游戏就好了。

make && make install
升级libstdc++.so.6
删除 /usr/lib64/libstdc++.so.6
下载高版本的libstdc++.so.6.0.26,添加软连接就好了
在这里插入图片描述

验证下 是不是好了
node -v

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值