RVM Ruby 1.9.1安装无法找到zlib,但它的运行时和开发库都在那里

Cas*_*per 54 ruby rubygems zlib rvm

尝试在新安装(fedora)上使用RVM启动并运行Ruby 1.9.1.

执行后rvm install 1.9.1,rubygems错误日志显示无法找到zlib

没有这样的文件加载 - zlib(LoadError)

但是,zlib运行时和开发库都已安装并且是最新的.

我此刻对这一点感到有点难过.

Jas*_*Ong 108

使用rvm安装zlib

https://rvm.io/packages/zlib/

rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1 -C --with-zlib-dir=$rvm_path/usr
Run Code Online (Sandbox Code Playgroud)

编辑:该rvm package命令rvm pkg在v1.6.25 中重命名为.

  • 在RVM版本1.8.1中,这不适用于我.package参数必须是过时的.我使用"rvm pkg install zlib",很好. (4认同)
  • 斯拉沃:你是对的.似乎``rvm package`被重命名为`rvm pkg`.我将编辑此答案以包含更改. (2认同)

rub*_*iii 63

您需要zlib在编译/安装Ruby之前安装.如果你没有这样做,请确保从你的~/.rvm文件夹中删除与Ruby 1.9.1相关的所有内容(这样它将从头开始构建).

zlib使用您喜欢的包管理器安装:

sudo apt-get install zlib1g-dev
Run Code Online (Sandbox Code Playgroud)

您可能还希望安装以下软件包,因为OpenSSL,
Nokogiri,IRB或SQLite 等工具需要这些软件包:

 libssl-dev libreadline6-dev libxml2-dev libsqlite3-dev
Run Code Online (Sandbox Code Playgroud)

然后再次安装Ruby 1.9.1(现在我建议使用更新的版本):

rvm install 1.9.1
Run Code Online (Sandbox Code Playgroud)

注意"编译......".这应该需要一段时间.如果没有,那么Ruby 1.9.1可能仍会缓存
在您的~/.rvm文件夹中.

  • 因为新版本的libreadline可用,所以最好安装libreadline-dev或直接libreadline6-dev (7认同)
  • 这对我来说很好,我宁愿通过系统的包管理器安装,而不是通过"rvm包". (3认同)
  • 这是最好的解决方案,因为它可以节省你每次遇到需要libssl,libxml等的gem时重新编译ruby.实际上你可能想添加`libxslt1-dev`和`libcurl4-openssl-dev`到列表(nokogiri依赖) (2认同)

小智 9

我在尝试时遇到了这个问题:

宝石安装粗暴

实际上对我有用的是(Ubunut 10.10,ruby MRI 1.8.7):

  • 阅读rvm笔记并为我的ruby版本安装依赖项

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev autoconf

  1. rvm包安装zlib
  2. rvm删除1.8.7
  3. rvm install 1.8.7

所以基本上:只需按照rvm手册