そのようなファイルを読み込めません— rvm pkg install zlibを使用した後でもzlib


112

RVMを使用してzlibパッケージとruby 1.9.3をインストールしましたが、gemをインストールしようとすると、 cannot load such file -- zlib

インストールに使用したコマンドは

$ rvm install 1.9.3
$ rvm pkg install zlib

$ rvm reload 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
エラー:ロードコマンド:インストール(LoadError)
    そのようなファイルをロードできません-zlib
エラー:gemの実行中...(NameError)
    初期化されていない定数Gem :: Commands :: InstallCommand

この件に関するすべてのヘルプではrvm pkg install zlib、を実行してからでルビーを再インストールするように指示されています--with-zlib-dir=/home/username/.rvm/usrが、これは機能しませんでした。

回答:


201

apt-getからzlibをインストールしてから、rubyを再インストールして、zlibにrvmディレクトリを使用しないようにしました。

方法は次のとおりです。

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

[編集]コメント者@chrisfinneが言及しているように、CentOS / RedHatベースのシステムでは:

$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3

21
またはsudo yum install zlib-devel
chris finne

4
まあ、OSに関係なく、@ chrisfinneのアドバイスは(少なくとも私にとっては)まだ役に立ちます!

私には完璧に働きました。libssl-devもないため、もう一度再コンパイルする必要がありましたが(rvmがHTTPS経由でルビソースをフェッチしたかったため、必要でした):-)
tr9sh

9

他の両方の応答はほぼ正しかった...

zlibrvmサイトは迅速な修正を提供します!

ページの上部には「クイックフィックス」があり、その指示に従います。

  • インストールを修正し、
  • システムからzlibをインストールする方法を説明します
  • そしてルビーを再インストールする方法を示します

1

Rubyには、zlib-develのようなパッケージの依存関係がたくさんあります。何かルーチンを実行しようとしているときにあいまいなエラーメッセージが表示されるまで、ライブラリが必要であることを示すものがないため、これらは厄介です。

解決策は、rvmを使用することです。Rubyのバージョンが1つだけ必要な場合でも使用してください。どうして?それであなたはできるから

rvm requirements

これにより、特定のOSがプローブされ、欠落しているパッケージをインストールするためにコマンドラインにコピーして戻すことができる一連のコマンドが生成されます。


1

autolibsを使用して依存関係をインストールします。

rvm autolibs enable
rvm reinstall 1.9.3

RVMは不足している依存関係を自動的にインストールし、それらを使用してルビをコンパイルします。

autolibsの詳細=> http://rvm.io/rvm/autolibs


1
rvm pkg install openssl && rvm pkg install zlib && rvm pkg install libyaml &&
  rvm pkg install 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

1

私にとってうまくいった解決策は、rvm github repo、問題#3389で説明されています。

走る

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

ルビー用 2.3.0バージョン用。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.