快速记录一下这个问题的解决方式,废话少说了
原因
服务器系统自带的 glibc 库 版本太低导致,比如经典 CentOS7
解决方案
1、升级库,升级系统
这属于比较理想的解决方案,网上的教程大多是这方面的,就不多赘述了 掘金我随便搜了一篇:juejin.cn/post/733661…
2、使用不需要 glibc 库的 node sdk、
场景
常见情况是服务器上有一堆乱七八糟的东西,不好升级库,也不好升级系统
思路
我也是偶然间翻到了这个 github 上的 讨论:
其中提到了这个项目【nodejs 非官方构建】:
其中就有【自带 glibc 的 node】,这就是我们要的东西
靠谱吗?
这个项目也是 nodejs 官方的项目,只是收录了一些非官方的 node 打包版本
我理解一定程度是可用的,只是如果出了问题 nodejs 官方不背锅而已
如何操作
操作也很简单,在这个网站中下载对应版本的【自带 glibc 的 node】,替换掉服务器上的 node 就好了
unofficial-builds.nodejs.org/download/re…
比如下图是 node v20.19.1 里,下载对应的包
(这两一样,都是压缩包,取决于服务器上有哪个解压程序)
我这里用的是 nvm ,替换 nvm 里的 node 即可(其他 node 管理工具,也类似)
然后就可以正常的使用了~