【问题标题】:Gem install error related to missing library与缺少库相关的 Gem 安装错误
【发布时间】:2016-06-02 10:24:56
【问题描述】:

我从源代码安装了 Ruby v2.1.4。我使用以下方式安装了所有必要的库:

yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel sqlite-devel

全部成功。

现在当我想安装一个 gem 时:

gem install bundler-1.7.4.gem

我明白了:

ERROR:  Loading command: install (LoadError)
        cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

我确定 zlib 已安装:

locate zlib

导致一长串

/lib/modules/2.6.32-431.el6.x86_64/kernel/crypto/zlib.ko
/lib/modules/2.6.32-431.el6.x86_64/kernel/lib/zlib_deflate
/lib/modules/2.6.32-431.el6.x86_64/kernel/lib/zlib_deflate/zlib_deflate.ko
/lib64/rsyslog/lmzlibw.so
/usr/include/zlib.h
/usr/lib64/pkgconfig/zlib.pc
/usr/lib64/python2.6/encodings/zlib_codec.py
/usr/lib64/python2.6/encodings/zlib_codec.pyc
/usr/lib64/python2.6/encodings/zlib_codec.pyo
/usr/lib64/python2.6/lib-dynload/zlibmodule.so
/usr/local/share/doc/ruby/capi/html/db/d74/zlib_8c.html
/usr/local/share/doc/ruby/capi/html/db/d74/zlib_8c_source.html
/usr/local/share/ri/2.1.0/system/Zlib/zlib_version-c.ri
/usr/share/doc/zlib-1.2.3
/usr/share/doc/zlib-devel-1.2.3
/usr/share/doc/zlib-1.2.3/ChangeLog
/usr/share/doc/zlib-1.2.3/FAQ
/usr/share/doc/zlib-1.2.3/README
/usr/share/doc/zlib-devel-1.2.3/README
/usr/share/doc/zlib-devel-1.2.3/algorithm.txt
/usr/share/doc/zlib-devel-1.2.3/example.c
/usr/share/doc/zlib-devel-1.2.3/minigzip.c
/usr/share/man/man3/zlib.3.gz
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/zlib
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/crypto/zlib.h
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/jffs2/zlib.h
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/ubifs/fs/zlib.h
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/zlib/deflate.h
/usr/src/kernels/2.6.32-431.el6.x86_64/include/config/zlib/inflate.h
/usr/src/kernels/2.6.32-431.el6.x86_64/include/linux/zlib.h
/usr/src/kernels/2.6.32-431.el6.x86_64/lib/zlib_deflate
/usr/src/kernels/2.6.32-431.el6.x86_64/lib/zlib_inflate
/usr/src/kernels/2.6.32-431.el6.x86_64/lib/zlib_deflate/Makefile
/usr/src/kernels/2.6.32-431.el6.x86_64/lib/zlib_inflate/Makefile

我错过了什么吗?

【问题讨论】:

标签: ruby centos rubygems


【解决方案1】:

我找到了解决方案at this blog。我无法使用rvm,因为服务器即使通过代理也没有互联网连接。

从来源安装 ruby​​ 时,执行以下操作解决了该问题:

  • 使用make clean 删除已安装的Ruby
  • 使用您选择的操作系统包管理器安装 libssl-dev。例如。 apt-get install libssl-dev
  • 使用您选择的操作系统包管理器安装 zlib1g-dev。例如。 apt-get install zlib1g-dev
  • 通过转到ext/openssl 并运行ruby extconf.rb 配置生成文件以包含openssl
  • 通过转到ext/zlib 并运行ruby extconf.rb 来配置包含zlib 的make 文件
  • 回到ruby源代码目录运行make && make install
  • 应该可以成功运行gem install bundler

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2011-04-08
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2021-07-02
    相关资源
    最近更新 更多