安装 rubygem 时报错 “cannot load such file — zlib”

今天业务人员需要安装 redies ,结果发现 yum 源中的 ruby 版本太低了无法使用。于是自己又下载了源码编译安装更新的版本,依然无法使用,最后找到了我来解决。

接手后,首先就检查业务人员是否将安装的 yum 版本删除。果不其然,他们并没有删除,导致系统存在两个版本的 ruby 。 要知道,yum 的安装路径跟编译的安装路径是完全不同的,通过编译安装并不会更新或者覆盖原 yum 安装的版本。于是,我先将用 yum remove ruby 将 yum ruby 版本删除了,然后再试着重新用 ./configure , makemake install 三板斧重新编译安装。

安装完之后,试着使用 ruby setup.rb 安装 rubygem ,结果得到 "cannot load such file -- zlib" 的报错。

看上去是缺少了一些依赖包,索性把 ruby 需要的依赖包再全部更新安装一次。

# yum install gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel \
 openssl-devel make bzip2 autoconf automake libtool bison sqlite-devel

结束后,再次三板斧走一遍结果却还是一样。

最后,通过查看 make 的日志,发现存在大量的 make[1]: Nothing to be done for 'XXX' 这样的记录。这说明 make 认为这些文件以及编译好了,不需要更改。这明显是不对的,先用 make clean 清理之前编译产生的文件,再进行 makemake install 后,再次尝试安装 rubygem,这次没有任何的报错了,问题解决。

版权声明:
作者:Kaol
链接:https://www.kaol.net/linux/ruby-install-cannot-load-zlib.html
来源:Kaol's Blog
本站文章除特殊标明者外均为原创,版权所有,未经允许严禁转载!
THE END
分享
二维码
< <上一篇
下一篇>>