即使在使用 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的主要内容,如果未能解决你的问题,请参考以下文章
运行“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