2008年7月11日

[ruby-list:45215] Re: Debian4GNU/LinuxとRubyGemsについて。

From: hrkt0115311 <hrkt0115311@xxxxx>
Subject: [ruby-list:45214] Debian4 GNU/LinuxとRubyGemsについて。
Date: Fri, 11 Jul 2008 03:50:53 +0900

るびきちです。

> 1.RubyGemsをDebian 4 GNU/Linuxで動かすコツをご存じの方、もしよろしければ
>  お知恵をお借りできないでしょうか。


僕もDebian etchでRubyしています。

rubyはDebianパッケージではなくてソースからインストールして使っています。
だからrubyのパスは /usr/local/bin/ruby です。
そこから問題なくRubyGemsが使えます。

migemoパッケージの依存関係でDebianパッケージ版のrubyも入っています。
パッケージ版は /usr/bin/ruby で、migemo等のパッケージ版Rubyスクリプトは
「#!/usr/bin/ruby」となっているため、パッケージ版のrubyが使われます。
パッケージ版のrubyはパッケージ版のRubyスクリプトを動かすことにしか使っていません。

つまり、俺DebianのRubyは自治領域となっています。

> 2.愚かな質問かもしれないのですが、Rubyを動かすのに向いているディストリビューションは
>  ございますでしょうか?(FreeBSDは自力で入れられず、Ubuntuを試そうか迷っています)

Unix系OSならばどれもとくに問題なくソースからインストールできるのでは?

> ■エラー内容■
> Debian 4 GNU/Linuxで、RubyGemsをソースからコンパイルしようとすると、
> 以下のようなエラーが起きました。apt-getでRubyGemsをインストールすると、
> やはり動いてくれませんでした。
>
> ○エラー1
> Linux 2.6.18-6-686 #1 SMP Fri Jun 6 22:22:11 UTC 2008 i686 GNU/Linux
> ruby 1.8.7 (2008-06-09 patchlevel 17) [i686-linux]
>
> # ruby setup.rb

zlib拡張ライブラリがインストールされていないようです。

Debian GNU/LinuxのRuby関連パッケージは変則的なのでこのような問題が起こります。
たとえば、irbやriが別パッケージになっていてインストールされなかったりとかです。
だからこそソースからインストールしています。
RubyインタプリタとRubyGemsをソースからインストールしてしまえば、
あとはgemでapt同様簡単にライブラリをインストールできるので。

ソースからインストールすることで、複数のバージョンのrubyを共存できます。
1.8系でも1.8.6と1.8.7では別物ですし…
また、パッケージ化される前にセキュリティフィックスが適用できます。

で、「ruby」コマンドはどのrubyでしょうか?
/usr/bin/ruby? /usr/local/bin/ruby?
「which ruby」を実行すればわかります。

パッケージ版のrubyならば、
sudo apt-get install libruby1.8

sudo apt-get install libzlib-ruby
で解決すると思います。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/


投稿者 xml-rpc : 2008年7月11日 04:24
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75200
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。