天坑!linux npm 安装better-sqlite3 提示glibc-2.29找不到

最近需要安装个wechaty-puppet-padlocal,用yarn add wechaty-puppet-padlocal,安装报错,提示依赖的better-sqlite3 无法安装,原因是glibc-2.29 not found。好家伙!glibc是什么我都不知道,这是难为我大cv工程师啊。于是去宠幸了下度娘,得知glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。意思就是说glibc是linux的底层命令库,用c语言写的。
Ok,知道问题就好办了,你不是没有嘛?我装一个就是了。继续深挖度娘,看到了这么一篇文章
https://www.jianshu.com/p/f4d603967e1d
里面是一位大佬教人升级glibc,看他说都装坏了十几次了,这就有点把我吓到了,继续研读,说问题一般都出在把老的glibc换成新版本的glibc的时候容易出问题,那我现在只是需要编译安装,不用替换老的,所以问题不大。开搞
下载包,解压包,进入解压文件夹,执行

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

结果报错,告诉我
“ptxdist” *** These critical programs are missing or too old:python,make, compiler
看样子应该是这几个组件太老了,不能编译这个新版的glibc,好,那我先升级这几个组件
首先是python,linux里的是2.7,我把它升级到3.7,又找了位大佬的文章,毕竟摸着大佬过河才稳当~
https://blog.csdn.net/liang19890820/article/details/51079633
然后下载,解压,编译,安装,这次没出幺蛾子,顺利安装成功,然后把系统默认的python指向新的python
备份老的

 mv /usr/bin/python /usr/bin/python.bak 

指向新的

ln -s /usr/local/bin/python3 /usr/bin/python

完美,最后还需要配置下yum的配置文件,因为yum依赖的是python2的版本,而python3不兼容python2所以你需要把里面的python指向老版的python
/usr/bin/yum
/usr/libexec/urlgrabber-ext-down
vi 这两个文件,然后把
#!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可
接着又升级make
这里再上一个文章链接,感谢大佬们的无私奉献
https://blog.csdn.net/whatday/article/details/102473679
下载,解压,编译,安装,指向
最后是
compiler。说实话我也不知道compiler是啥,再百度一下,是语言编辑器的意思,一般指gcc(GCC原名为GNU C语言编译器)和g++ (GUN C++ Compiler C++编译器)。ok,继续下载,解压,编译。。。。

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.

我去,执行又报错了,说是缺少依赖!玩我呢是吧?套娃很好玩吗?那这三个是不是安装发现又要去装其他的?无限递归要不得啊!好吧,继续百度,发现这三个可以用yum安装,这就非常舒服了,上个链接,谢谢大佬~
https://blog.csdn.net/HoeWang/article/details/83663149

yum install  gmp  gmp-devel  mpfr  mpfr-devel  libmpc  libmpc-devel

这几个依赖安装完成之后回到gcc的解压的文件里,编译,安装。ok,最后回到最初的起点~,glibc-2.29
回到glibc-2.29文件夹下,编译,安装,完美。

[root@ebs-34615 /]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/8.4.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 8.4.0 (GCC) 

那么再去安装better-sqlite3,yarn add wechaty-puppet-padlocal。回车键敲下,优雅而从容~ 这就是cv工程师和面向百度编程的自信。这个问题我搞了三天,每一步都查了大量的文章,如果帮到你的话请点赞~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值