ZlibパッケージとRuby 1.9.3をrvmを使用してインストールしましたが、gemsをインストールしようとするたびにcannot load such file -- zlib
と表示されます
インストールに使用したコマンドは
$ rvm install 1.9.3
$ rvm pkg install zlib $ rvm restart 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 エラー:読み込み中コマンド:install(LoadError) はそのようなファイルをロードできません-zlib エラー:gemの実行中...(NameError) 初期化されていない定数Gem :: Commands :: InstallCommand
このテーマに関するすべてのヘルプは、rvm pkg install zlib
を実行してからRubyを--with-zlib-dir=/home/username/.rvm/usr
で再インストールするよう指示していますが、これは機能しませんでした。
私はapt-getからzlibをインストールし、Rubyを再インストールしてnotzlibの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
他の両方の応答はほぼ正しかった...
zlibのrvmサイト は簡単な修正を提供します!
ページの一番上には、指示に従って「クイックフィックス」があります。
Rubyには、zlib-develにあるようなパッケージの依存関係がたくさんあります。何かルーチンを行おうとしているときにあいまいなエラーメッセージが表示されるまで、ライブラリが必要であることを示すものが何もないため、これらは厄介です。
解決策は、 rvm を使用することです。 Rubyの1つのバージョンのみが必要な場合でも使用してください。どうして?それであなたができるから
rvm requirements
これにより、特定のOSがプローブされ、一連のコマンドが生成されます。コマンドラインにコピーして、不足しているパッケージをインストールできます。
私のために働いた解決策は、rvm github repo、 issue#3389 に記述されています。
走る
rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8
Ruby2.3.0バージョン.
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
Autolibsを使用して依存関係をインストールします。
rvm autolibs enable
rvm reinstall 1.9.3
RVMは欠落している依存関係を自動的にインストールし、Rubyのコンパイルに使用します。
Autolibsの詳細=> http://rvm.io/rvm/autolibs