GLIBC_2.28 not found CentOS7不兼容Node高版本(18以上)

CentOS7中默認不支持高版本nodejs(18以上)

報錯如下

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)

切換到root權限

su // 回車後。輸入root密碼

升級GCC(默認爲4,升級爲7。嘗試了幾次升級爲8.3後系統崩了,心態也崩了)

yum install -y centos-release-scl
yum install devtoolset-7-gcc devtoolset-7-gcc-c++ // yum install -y devtoolset-7-gcc*
mv /usr/bin/gcc /usr/bin/gcc-4.8.5 // 原始版本保留
ln -s /opt/rh/devtoolset-7/root/bin/gcc /usr/bin/gcc // 引用新版本
mv /usr/bin/g++ /usr/bin/g++-4.8.5 // // 原始版本保留
<!-- configure: error: no acceptable C compiler found in $PATH或者無法獲取"/usr/bin/g++" 的文件狀態(stat): 沒有那個文件或目錄
執行 yum install gcc-c++  //使用yum install gcc-c++時會自動安裝/升級gcc及其他依賴的包
-->
ln -s /opt/rh/devtoolset-7/root/bin/g++ /usr/bin/g++ //// 引用新版本

升級 make(默認爲3 升級爲4)

wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
tar -xzf make-4.3.tar.gz && cd make-4.3/
./configure  --prefix=/usr/local/make
make -j 4 && make install  // 加快編譯速度(建議不要超過CPU核心數量)(如果沒有make命令需要安裝一下make命令  yum install -y make)
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make

更新libstdc++.so.6.0.26

wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26 // 更新lib  libstdc++.so.6.0.26
cp libstdc++.so.6.0.26 /usr/lib64/ // 替換系統中的/usr/lib64
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

更新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. 
執行 yum install -y bison
-->
make -j 4 && make install  // 記住先備份,此步比較長
<!-- 系統變成了英文。glibc/budil目錄下執行
make localedata/install-locales
-->

驗證

npm -v
node -v
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章