「清水美樹の本」の目次へ戻る
このトピックの最初に戻る
前に戻る
次へ進む
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」コマンド
たくさんの応答が帰ってくるでしょう。
図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 前にコンパイルしたものを全部消す
再コンパイル・インストール
それから「./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 のインストールです。
前に戻る
次へ進む
このトピックの最初に戻る
このサイトの目次へ戻る