「清水美樹の本」の目次へ戻る

このトピックの最初に戻る
  前に戻る
次へ進む

UbuntuでRals3.2.3 (4) はじめてのRubyGemsは・・・失敗。さあどうする?

Rubyの「コンパイル」はきわめて順調でした。ところが、RubyGemsでうまくインストールできません。足りないライブラリがあるとのことです。さてどうしましょう。

SQLite3をインストール

Railsが用いるデフォルトのデータベースを「apt-get」でインストール

Ruby on Railsがデフォルトで用いるデータベース「SQLite3」は、Ubuntuのパッケージとして「apt-get」コマンドでインストールできます。実行例14のようにします。もう、だいぶ慣れましたね。  
実行例14 「apt-get」コマンドで「SQLite3」をインストール
sudo apt-get install sqlite3


「RubyGems」でインストールするはずが・・・

まず、RubyGemsそのものをアップデート

では、Ruby on Railsのインストールを始めましょう。Rails のインストール法自体については、その専門文書を参考にしてください。ここでは、手順に従って、コマンドだけを記述していきます。

まず、Railsをインストールするのに必要な「RubyGems」自体をアップデートします。Ubuntuのインストール直後に行った「apt-get update」と似たような作業です。そのためのアプリケーション「rubygems-update」を、「gem」コマンドでインストールします。共通のフォルダへのインストールですから「sudo」で行います。
実行例15 「gem」コマンドで「rubygems-update」をインストール
sudo gem install rubygems-update
しかし、結果は惨敗。図61のような応答が出るでしょう。
図61 実は、二つも問題が露呈している
図61の応答には、実は二つの問題が挙げられています。ひとつは、前のほうに書かれている、以下のような記述です。

「お使いのRubyにはpsychというプログラムが足りません。この警告が出ないようにするにはlibyamlをインストールして、Rubyも入れ直してください」

これは、まあ「警告」ですから、今はよしとしましょう。次に書かれているのが致命的なエラーです。

「ERROR: Loading command: install(LoadError)
cannot load such file...zlib」

そのあとのエラーメッセージは、この「zlib」というものがないゆえに派生したものです。

足りないライブラリをインストールする

何をインストールすればいいのか?

「zlib」をインストールしなければならないことがわかります。しかし、以下のように打っても、「見つかりません」という答えが返ってくるでしょう。

sudo apt-get install zlib

これは、パッケージ名の指定が間違っているからです。さて、「zlib」に関係するパッケージにはどんなものがあるのでしょうか?
それを知るには、「apt-cache」というコマンドを用います。これは、一般ユーザで構いません。
「zlibという名前を持っているパッケージを探しなさい」というコマンドは、実行例16のように打ちます。
実行例16 「zlib」という名前に関わるパッケージを探す「apt-cache」コマンド
apt-cache search zlib
たくさんの応答が帰ってくるでしょう。
図62 実行例16と、その応答

足りないのはだいたい「-...-dev」

Linuxでインストール時に「何か足りない」というエラーが出たら、かなりの確率で、インストールすべきパッケージの名前は最後に「-dev」または「-devel」がつくものです。「開発用」を意味します。
そこで、図62の応答の中で、「...dev」というものを探してみましょう。すると、「zlib1g-dev」というパッケージ名が見つかります。説明にも「ライブラリ」とか「開発キット」と書いてあります。 
図63 これがよさそう
しかし、字が小さくて、名前がよくわかりません。「1」なのか「l」なのか...こういうときは、自分で入力するより、見つかったものをそっくりコピーして、コマンドの中にペーストしてやると確実です。端末ウィンドウに入力したり表示されたりした文字は、右クリックで自由にコピー、ペーストできるのです。
図64「libz1g-dev」と書いているらしき箇所を選んで「コピー」
図65 「sudo apt-get install」の後に「ペースト」
これで、「zlib1g-dev」がインストールされます。

「libyaml-dev」も同様

1つめの「警告」も、同じように「libyamlという名前を含むなにか」をインストールすれば解決するでしょう。同じように「apt-cache search libyaml」で「libyaml-dev」というパケージを見つけることができます。これをインストールしてみましょう。

Rubyの再インストール

前にコンパイルしたものを全部消す

必要なライブラリをインストールしたら、Rubyを再インストールします。
それには、まず、前にコンパイルしたものを全部消すのが確実です。「make clean」というコマンドを使います。一般ユーザーで構いません。
実行例17 前にコンパイルしたものを全部消す
make clean

再コンパイル・インストール

それから「./configure --prefix=/usr」「make」「sudo make install」を行います。


ライブラリの追加により、インストール成功

「RubyGems」は「応答が遅い」と希望アリ

こうして、改めて実行例15で「rubygems-update」を試みましょう。
「RubyGems」による処理は、応答が遅くなると、成功の希望がかなりあります。大きな仕事を始めたからです。エラーがある場合は、だいたいすぐに出されます。
やがて、図66のような画面になれば、成功です。
図66「rubygems-update」のインストールに成功


他に足りないもの

全部「sudo apt-get install」でインストール

このように、RubyGemsによるインストールを試みて、「足りないものがある」と言われては、「apt-cache search」で探し、「sudo apt-get install」でインストールし、Rubyを再コンパイル/インストールして、またインストールを試みる・・・その繰り返しです。でも、それは筆者がもうやりましたので、ここで必要なものを御紹介します。

zlib1g-dev(このページでインストールしたことになっている)
libyaml-dev(このページでインストールしたことになっている)
libssl-dev
libsqlite3-dev
g++(なんと、Ubuntu Desktop11.10にはインストールされていなかった)

全部揃えたら、Rubyを再コンパイル/インストールします。
では、次のページで、今度こそRails のインストールです。
前に戻る
次へ進む
このトピックの最初に戻る
  このサイトの目次へ戻る