一、起因
因为安装一个开源的系统playedu,需要较高的node版本,所以我安装node-v20.15.0-linux-x64,在配置完毕,执行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)
安装 GLIBC 2.27 需要进行一些非常谨慎的步骤,因为 GLIBC 是 Linux 系统的核心 C 库,更改它可能会对系统的稳定性和应用程序的运行产生重大影响。通常情况下,建议不要直接升级系统的 GLIBC 版本,而是考虑使用其他方法解决 Node.js 版本与系统 GLIBC 版本不兼容的问题。
二、安装GLIBC_2.27
1)查看已经安装的版本:
strings /lib64/libc.so.6 |grep GLIBC_
折腾一圈失败了,centos7不支持这些库,centos8支持,或者本地打包后上传到服务器也可以!
解决方案:
方法一:切换到CentOS8以后,就可以用npx yarn build命令编译打包了。
方法二:本地对前端资源打包,然后,上传到生产环境也是可以的。