我使用rvm安装了zlib包和ruby 1.9.3,但每当我尝试安装gem时它会说 cannot load such file -- zlib
我以前安装的命令是
$ rvm install 1.9.3
$ rvm pkg install zlib
$ rvm reinstall 1.9.3 --with-readline-dir=/home/username/.rvm/usr \
--with-iconv-dir=/home/username/.rvm/usr \
--with-zlib-dir=/home/username/.rvm/usr \
--with-openssl-dir=/home/username/.rvm/usr
$ rvm use 1.9.3
$ gem install heroku
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand
关于这个主题的所有帮助告诉我只需要 rvm pkg install zlib
,然后用 --with-zlib-dir=/home/username/.rvm/usr
重新安装ruby,但这不起作用 .
6 回答
我最终从apt-get安装zlib,然后重新安装ruby以不使用rlm目录来安装zlib .
这是怎么做的:
[Edit] 作为评论者@chrisfinne提到,基于CentOS / RedHat的系统:
其他两个回答几乎是正确的......
rvm site for zlib提供快速修复!
在页面顶部是一个“快速修复”按照它的说明,它将:
修复你的安装,
为您提供了从系统安装zlib的说明
并显示如何重新安装ruby
Ruby有一堆包依赖,比如zlib-devel上的依赖 . 它们很讨厌,因为在尝试做一些常规的事情时,没有任何迹象表明你需要这个库,直到得到一些模糊的错误信息 .
解决方案是使用rvm . 即使您只需要一个版本的ruby,也可以使用它 . 为什么?因为那样你就可以做到
这将探测您的特定操作系统并生成一组命令,您可以将这些命令复制回命令行以安装缺少的软件包 .
使用autolibs安装依赖项:
RVM将自动安装缺少的依赖项并使用它们来编译ruby .
关于autolibs的更多细节=> http://rvm.io/rvm/autolibs
对我有用的解决方案在rvm github repo,issue #3389中描述 .
跑
对于ruby 2.3.0 版本 .