centos 7 安装nodejs18+版本报错的问题修复记录

澄仙 2024-06-18 09:07:04 阅读 58

今天公司搞的一台阿里云ECS需要部署nodejs项目,需要的nodejs版本挺高

需要18版本以上,而且最好20,感觉上比较先进,哈哈

安装nodejs 16可以,但是18 19 20 21  统统装不上,报错如下:

Downloading and installing node v20.11.1...

Downloading https://nodejs.org/dist/v20.11.1/node-v20.11.1-linux-x64.tar.xz...

######################################################################## 100.0%

Computing checksum with sha256sum

Checksums matched!

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)

nvm is not compatible with the npm config "prefix" option: currently set to ""

Run `nvm use --delete-prefix v20.11.1` to unset it.

关键错误提炼: ode: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)

于是就尝试去装呗,反正是个空的,随便折腾哈哈

查到说GLIBC装高版本可以向下兼容低版本,所以……

先去找这个怎么装,找到一篇不错的文章,按顺序操作就行了

解决:centos7 中node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)_node: /lib64/libm.so.6: version `glibc_2.27' not f-CSDN博客

开搞!

执行第一句就卡住了😓

yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils

提示No package devtoolset-8-gcc available.  源的问题吗?换了也不行,果断再去找找,哈哈很快发现另一篇解决方法:

关于“没有可用软件包 devtoolset-9-gcc-c++”的解决办法_source /etc/profile 没有devtoolset-9/文件或目录-CSDN博客

按这篇博文的说法 

执行:

yum list installed|grep "scl"

我这里显示空的第二步跳过,直接装他让装的

yum install -y centos-release-scl centos-release-scl-rh

 然后回去执行我之前那句,就好了,真棒,继续装下去!

有几个注意的地方:

./contrib/download_prerequisites  这步也挺慢,看起来像是从ftp里下东西,只要网络正常倒是能下  就是不快make 这步最慢,博主大人也说了可以分进程同时运行命令,但我真的好奇能有多慢……确实需要等好~~~~~久

如果知道自己的机器核心数,最好听话让他快点,不要像我这么好奇😄

 是真的好~~~~~~慢啊😭 执行了将近俩小时才完……

执行完make install 直接重启,按道理不可能生效的

 gcc成功安装,继续!

make升级过程中,执行make又报错了😔

make[3]: *** [concat-filename.o] Error 1make[3]: Leaving directory `/root/make-4.3/lib'make[2]: *** [all-recursive] Error 1make[2]: Leaving directory `/root/make-4.3/lib'make[1]: *** [all] Error 2make[1]: Leaving directory `/root/make-4.3/lib'make: *** [all-recursive] Error 1 

真的是   继续查咋解决,各种搜索,发现大家都挺正常的构建完了,我这怎么报错了呢?

先从环境入手,首先排除目录和账号,发现root账号换了目录,也还是报错,那就是我的appnode的问题了!

果断进阿里云的远程连接,发现竟然顺利安装完,然后备份&建立软连接,输入make -v 哈哈  搞定!

继续!安装GLIBC_2.28!

用cd ~ 回到root目录,继续一行一行执行命令

又卡住,报错:

configure: error:

*** These critical programs are missing or too old: bison

*** Check the INSTALL file for required versions.

明显,说我bison这个没有 去装!

yum install bison

按接下来的说明,一顿操作,安装node21版本,成功!

总结一下:

干这种事,最好是直接做ssh连接命令行,不要用appnode这类工具系统提供的命令行,会有些限制发生报错不要迷茫,把报错关键信息找到,去搜索,如果没有找到答案,别慌,先试试下一步走不走得通,走得通就先忽略试试尝试领悟linux中生成安装的步骤,明白背后的软件系统原理:

下载 → 进目录 → configuremake → make install → 替换/软链接

好啦!收工! 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。