Ubuntuレールのインストールがzlibで失敗する


128

開発ボックスとしてUbuntu 8.10に移動しました。これは、日常的に使用するOSとしてのLinuxへの私の最初の真剣な進出であり、Railsを実行するのに苦労しています。私はすべてがうまくいくように見えるいくつかのチュートリアルに従ってきましたが、何かにgem installまたはgem updateを使用しようとすると、次のようなエラーが発生します。

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:144:in `find_command'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:131:in `process_args'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
from /usr/local/bin/gem:21

(チュートリアルで推奨されているように)zlib、zlib1g、およびzlib1g-devをインストールしました。私はこの特定の問題に関するチュートリアルをいくつか見つけました(ただし、すべて私のフレーバー以外のものです)が、助けにはなりませんでした。

Ubuntu 8.10、Rubyバージョン1.8.8dev、gemバージョン1.3.2を使用しています

RubyとGemを個別に再インストールしてみましたが、役に立ちませんでした。


23
「Ubuntu noob railsのインストールがzlibで失敗する」うわー。それはこれまでで最も美しい詩のようなものです。
Nosredna 2009

3
apt-get install zlib1g zlib1g-devがUbuntu 10.04で動作しました
bioneuralnet


回答:


297

Ubuntu 10.04にRubyバージョンマネージャー(RVM)を使用してRubyをインストールしようとするこの質問に出くわした場合は、rvm Webサイトhttp://rvm.beginrescueend.com/packages/zlib/に zlibをインストールする手順があります

手順は次のとおりです。

rvm pkg install zlib

(または rvm package install zlib「ERROR:Unrecognized command line argument: 'pkg'」-古いバージョンのrvmが代わりに動詞 'package'を使用した場合)

その後

rvm remove 1.9.1
rvm install 1.9.1

33
1.9.2のマイナーバリエーションを使用すると、同じアプローチがうまくいきました。vm package install zlib; rvmは1.9.2-p0を削除します。rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
素晴らしい、apt経由でzlibがインストールされているのにrvmがdebianで動作しないのはなぜかと思っていました
Martin DeMello

11
同じ問題があり、最終的にこれがうまくいったことがわかりました:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

どうもありがとう!私も同じ問題を抱えていました。Ubuntuで「1.9.1」を「ree」に置き換える必要がありました。+1!
kikito

1
pkg2つ目のオプションを追加していただきありがとうございます。
ジャスティン

52

Ubuntu 10.04(Lucid)を使用していますが、Railsでは1.9.1は推奨されていないため、ruby 1.9.2をインストールしました。そのため、1.9.2のソースをダウンロードし、解凍/アーカイブ解除しました。私のソースディストリビューションはruby-1.9.2-p0です。解凍したら、次のようにzlibをビルドしました。

cd ruby-1.9.2-p0/ext/zlib
ruby extconf.rb
make
sudo make install
sudo gem install rails

それで問題が解決しました。これは他の人が投稿したものと似ていますが、正確ではないので、私はそれを実現するために自分がしたことを正確に投稿したほうがよいと考えました。


2
これは私が見つけた最高のリソースです。ソースからrvmなしでrubyをインストールしましたが、zlibで問題が発生しました。この投稿はたくさん役に立ちます。ありがとうございました!
cristian

1
ありがとうございました!1.9.2-p136 / Ubuntu 10.04.1の問題を修正します。
mgutz 2011年

ありがとうございました。1.9.2-p180 / Red Hat 4.1.2-46の問題も修正します。
adelarsq

これはUbnutu 11.04 / Ruby 1.9.2-p180で機能しました。試しましたapt-get install zlib1g zlib1g-devがうまくいきませんでした(zlib1g-devRubyをコンパイルする前にインストールされていない可能性があります)。
Max Masnick

ソースからrubyをインストールする場合でも、これが必要なようです。なぜデフォルトでインストールされないのかわからない
nimrodm

22

CentOSにも同じ問題があり、次のコマンドを実行して修正します。

まず、zlibとzlib-develが存在することを確認します(上記で提案した多くのように)。

yum install zlib zlib-devel

次に、rubyに付属するzlibのソースを再コンパイルしてインストールしました。

cd /home/myname/installers/ruby-1.8.7-p174/ext/zlib/
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install

そのコマンドは問題を修正するようです、それから私は実行gem update --systemし、zlibのエラーは消えました。次に、gem install railsを使用してレールをインストールします。以前にgemをインストールしたことがあり、zlibを再コンパイルしてインストールした後、どちらのインストールgemも再コンパイルしません(実際には、それを行うスクリプトが見つからないため、アンインストールの方法がわかりません)。

それは私にとってはうまくいきます...

よろしく。


13

試す

aptitude install zlib1g-dev

その後、あなたのビジネスについて行きます。


Rubyソースに付属するzlibをコンパイルする前に、実際にこれを行わなければなりませんでした
Jeremy White

8

私は本当にこれらの答えが好きではありませんでした...ユーザーの実際のニーズと質問に焦点を当てたものは何もありません...彼らが何をしたかを伝える人々だけでした...コンテキストがなく、それは私にとってもうまくいきませんでした...

そう、 ..

新しいボックスUbuntu 8.04 LTS 64ビットをインストールしています...

だから、私は...

cd ~  
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz  
tar -xvvf ruby-1.9.2-p180.tar.gz  
cd ruby-*  
./configure  
make  
install  
sudo make install  

そして、私はこの問題を抱えています...

gem list

それは動作しません... zLibについて何かががらくたを見つけられません...

だから、私は実際にREADMEを読んで、ファイルを編集する必要があることがわかりました...

[my ruby source directory]/ext/Setup

そして、zLibを含む行のコメントを外します...最初の列の「#」を削除します

次に、コマンドを再度実行します...参照用にここに含めます...

./configure
make  
install  
sudo make install  

そして、すべてが順調です...それは論理的です...そして、「rvm」と他のものを欠いています...「それを機能させるために、より多くのものをインストールする」タイプのソリューション。

ジョート


私には役に立たない。私もreadmeを読んで、その指示に従いましたが、それでもルビーの宝石を動作させることができなくても、zlibはまだ表示されていません...
Jenny

これはrvmを使用する場合の一般的な問題であるため、実際には答えは適切です。あなたの答えは、rvmを使用しない人により適しています。
Foamdino '20年

7

Ruby Source Packageに移動し、解凍します。

/ your-ruby-dir / ext / zlibに移動します

ruby extconf.rb
make
sudo make install

パッケージが欠落している場合は、主にlibzlib関連のパッケージが表示されます

よろしく

サウラブ



4

はい、それも仕事をしませんでした。これを別のソースから入手しましたが、他のものが失敗した場合、これは最終的に私のために行いました。

wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar xvzf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb && make
sudo make install

ソースからruby gemを再インストールします

とにかく、みんなありがとう。


1
extconf.rbの実行に問題がありました。(おそらく)zlib-develをインストールすることで解決しました。
集約担当者、2009

こっちも一緒。他のすべてを試しましたが、最終的にblue.sky.or.jpが私を救いました。ありがとう。
abhishek

2

問題は、UbuntuのRubyがzlibに対してビルドされていないことです。Rubyをインストールするには、ソースビルドを実行する必要があります。あなたはこれを行うことができますapt-get source -b ruby


さて、もう一度、linux noob。あなたが今言ったことはわかりません。笑。つまり、私はコマンドを理解しています。しかし、私はその後何をしますか?
ポール、

まあ、今でも、それだけではうまくいきませんでした。「ビルドコマンド 'cd ruby​​-defaults-4.2 && dpkg-buildpackage -b -uc' failed」エラーが発生しました
Paul

2

apt-get install libzlib-rubyを試しましたか?

また、rubyforgeからrubygemsをインストールします。Ubuntuのrubygemsパッケージは好きではありません。


2

Debian(Squeeze)の場合:

librubyには、Debianでルビーを適切に動作させるために必要な他のすべてのものの中で、ルビー用のzlibが含まれています。そう...

apt-get install libruby

その後...

cd /usr/local/src/ruby
make clean
make
make install
cd ../rubygems
ruby setup.rb
gem install rails

これでうまくいきましたが、走行距離はさまざまです。必要なものがすべてlibrubyでカバーされていることを見つける前に、zlibへのわずかなショットガンアプローチを行いました。


1

phusionサイトでruby enterprise debパッケージをダウンロードしてみてください。そして、パッケージを通して乗客をインストールしてください。こちらの手順に従ってください。または、ここにあるbashスクリプトを試すこともできます


0

Railsを実行する場合、Ruby 1.8.8devの使用はお勧めしません。1.8.6、できればRuby Enterprise Editionを使います。RailsLabのこの投稿を参照してください他の人が使用。

ハイテク化を主張する場合は、Ruby 1.9.1をインストールしてください。

ただし、どちらの場合も、自分で作成するか、マランスの提案を使用します。


これは悪いアドバイスです。レールで1.9.1を使用しないでください。ただし、1.9.2以降は問題なく動作します。
xaxxon

そのコメントは2年前に付けられました...もちろん、1.9.3が当然の道です。
危害

確かに、私はそれで大丈夫です。しかし、誰かがそれが間違っていることを知ることは重要です。
xaxxon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.