即使在使用 rvm pkg install zlib 后也无法加载此类文件 - zlib

Posted

技术标签:

【中文标题】即使在使用 rvm pkg install zlib 后也无法加载此类文件 - zlib【英文标题】:cannot load such file -- zlib even after using rvm pkg install zlib 【发布时间】:2012-04-01 10:38:59 【问题描述】:

我使用 rvm 安装了 zlib 包和 ruby​​ 1.9.3,但是每当我尝试安装时 它说的宝石 cannot load such file -- zlib

我用来安装的命令是

$ rvm install 1.9.3
$ rvm pkg 安装 zlib $ rvm reinstall 1.9.3 --with-readline-dir=/home/username/.rvm/usr \ --with-iconv-dir=/home/用户名/.rvm/usr\ --with-zlib-dir=/home/用户名/.rvm/usr\ --with-openssl-dir=/home/用户名/.rvm/usr $ rvm 使用 1.9.3 $ 宝石安装 heroku 错误:加载命令:安装(LoadError) 无法加载此类文件 -- zlib 错误:执行 gem 时...(NameError) 未初始化的常量 Gem::Commands::InstallCommand

关于这个主题的所有帮助都告诉我只做rvm pkg install zlib,并且 然后用--with-zlib-dir=/home/username/.rvm/usr重新安装ruby,但是这个 没用。

【问题讨论】:

【参考方案1】:

我最终从 apt-get 安装了 zlib,然后重新安装了 ruby​​,使用 rvm 目录作为 zlib。

方法如下:

$ sudo apt-get install zlib1g-dev
$ rvm reinstall 1.9.3

[编辑]正如评论者@chrisfinne 提到的,在基于 CentOS/RedHat 的系统上:

$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3

【讨论】:

或 sudo yum install zlib-devel 好吧,不管操作系统如何,@chrisfinne 的建议仍然有用(至少对我来说)! 非常适合我。虽然我不得不再次重新编译,因为我也缺少 libssl-dev(我需要它,因为 rvm 想通过 HTTPS 获取 ruby​​ 源):-)【参考方案2】:

其他两个回答几乎都是正确的......

rvm site for zlib 提供快速修复!

页面顶部是一个“快速修复”,按照说明进行操作,它将:

修复您的安装, 提供说明如何从系统安装 zlib 并展示如何重新安装 ruby​​

【讨论】:

【参考方案3】:

使用 autolibs 安装依赖项:

rvm autolibs enable
rvm reinstall 1.9.3

RVM 将自动安装缺少的依赖项并使用它们来编译 ruby​​。

更多关于 autolibs 的细节 => http://rvm.io/rvm/autolibs

【讨论】:

【参考方案4】:

rvm github repo issue #3389 中描述了对我有用的解决方案。

运行

rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8

适用于 ruby​​ 2.3.0 版本。

【讨论】:

【参考方案5】:

Ruby 有很多包依赖项,比如 zlib-devel 上的依赖包。它们很讨厌,因为没有任何迹象表明您需要该库,直到在尝试执行常规操作时收到一些晦涩的错误消息。

解决方案是使用rvm。即使您只需要一个版本的 ruby​​,也可以使用它。为什么?因为那样你就可以做到

rvm requirements

这将探测您的特定操作系统并生成一组命令,您可以将这些命令复制回命令行以安装那些缺少的软件包。

【讨论】:

【参考方案6】: rvm pkg 安装 openssl && rvm pkg 安装 zlib && rvm pkg 安装 libyaml && rvm pkg 安装 iconv rvm install 1.9.3-p0 --with-opt-dir=$HOME/.rvm/usr \ --with-libxml2-dir=/usr/local/Cellar/libxml2/2.7.8 \ --with-readline-dir=/usr/local/Cellar/readline/6.2.1

【讨论】:

以上是关于即使在使用 rvm pkg install zlib 后也无法加载此类文件 - zlib的主要内容,如果未能解决你的问题,请参考以下文章

Installing RVM

Install ruby via RVM

运行“requirements_smf_libs_install automake libtool”的 RVM 错误,

为啥 rvm install ruby​​-2.1.0 会安装 preview1?

Easy_install 和 pip 坏了:pkg_resources.DistributionNotFound:distribute==0.6.36

Easy_install 和 pip 坏了:pkg_resources.DistributionNotFound:distribute==0.6.36