Snow LeopardのiMacを購入した際のRails実行環境の構築方法を記載おきます。ここには成功例しか記載していませんが、実際にはかなりハマりました...。
試行錯誤の結果、以下のサイトの記事そのままに実行すればうまくいくようですので、報告しておきます。ほとんどコピーですが...。
そこで基本のインストール方法であるMacPortを利用したインストールを行います。TigerにRubyをインストールした際はインストールDVDを探すのが面倒でRuby One-Click Installer for OSXを使ってしまいましたが...。
以下のように$PATHより左に/opt/local/binと/opt/local/sbinが存在すればOKです。通常はMacPortインストール時に自動的にセットしてくれるようです。
ここが間違っていると、MacにあらかじめインストールされているRubyが使用されてしまいます。
参考にしたサイトに従って、以下のコマンドでインストールします。直接1.4.2をインストールしてもいいですが、とりあえず同じように1.3.7をインストールし、1.4.2にupdateしました。
ダウンロードページには最新バージョンが表示されますので、「Looking for previous GA versions?」をクリックして、5.1のダウンロードページに移動します。
適切なダウンロードファイル(通常は10.6, x86, 64-bitのDMGファイル)をダウンロードします。
ダウンロードしたら、以下を順にインストールします。
試行錯誤の結果、以下のサイトの記事そのままに実行すればうまくいくようですので、報告しておきます。ほとんどコピーですが...。
インストールするバージョン
バージョンの相性が悪いとハマります。ちょっと古いかもしれませんが、実績のある以下のバージョンを使用します。- Ruby >> 1.8.6
- RubyGems >> 1.4.2
- rack >> 1.0.1
- rake >> 0.8.3
- rails >> 2.3.5
- MySQL >> 5.1
Rubyのインストール
Mac OS XにはもともとRubyがインストールされていますが、バージョンが古かったり、機能に制限があったりします。また、Ruby One-Click Installer for OSXはSnow Leopardにはまだ対応していないようです。そこで基本のインストール方法であるMacPortを利用したインストールを行います。TigerにRubyをインストールした際はインストールDVDを探すのが面倒でRuby One-Click Installer for OSXを使ってしまいましたが...。
- Xcodeのインストール MacPortを利用するには、前もってXcodeのインストールが必要です。 Mac OS X Install DVDの「オプションインストール」-->「Xcode」でインストールします。
- MacPortのインストール 以下のサイトからダウンロードしてインストールします。
- Rubyのインストール まず、MacPortでインストールできるRubyを探します。
port search ruby
以下のような結果が表示されます。1.8.6はruby186のようです。
ruby @1.8.7-p334 (lang, ruby) Powerful and clean object-oriented scripting language ruby186 @1.8.6-p399 (lang, ruby) Powerful and clean object-oriented scripting language ruby19 @1.9.2-p180 (lang, ruby) Powerful and clean object-oriented scripting languageバージョン1.8.6をインストールします。
sudo port -v install ruby186 +nosuffix
このままですと、rubyコマンドでMacにあらかじめインストールされているRubyが動きかねないので、ホームディレクトリにある.bash_profileに以下の行を追加します。
alias ruby=/opt/local/bin/ruby
また、念のため.bash_profileでPATH指定の行を確認します。以下のように$PATHより左に/opt/local/binと/opt/local/sbinが存在すればOKです。通常はMacPortインストール時に自動的にセットしてくれるようです。
ここが間違っていると、MacにあらかじめインストールされているRubyが使用されてしまいます。
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
バージョン確認を行います。
ruby --version
正しくバージョンが表示されればOKです。
RubyGemsのインストール
RubyGemsはパッケージ管理システムです。さまざまなライブラリを自動でインストールしてくれます。参考にしたサイトに従って、以下のコマンドでインストールします。直接1.4.2をインストールしてもいいですが、とりあえず同じように1.3.7をインストールし、1.4.2にupdateしました。
mkdir ~/src cd ~/src curl -O http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz tar xzvf rubygems-1.3.7.tgz cd rubygems-1.3.7 sudo ruby setup.rb sudo gem update --system 1.4.2バージョン確認を行います。
gem -v
正しくバージョンが表示されればOKです。Ruby on Railsのインストール
railsとその他もろもろをインストールします。まずはバージョン指定ものから。sudo gem install rake -v 0.8.3
sudo gem install rack -v 1.0.1
sudo gem install rails -v 2.3.5
その他もろもろを一気にインストールします。
sudo gem install thin tzinfo capistrano ruby-debug rspec
MySQLのインストール
以下のサイトからMySQL Community Serverをダウンロードします。ダウンロードページには最新バージョンが表示されますので、「Looking for previous GA versions?」をクリックして、5.1のダウンロードページに移動します。
適切なダウンロードファイル(通常は10.6, x86, 64-bitのDMGファイル)をダウンロードします。
ダウンロードしたら、以下を順にインストールします。
- MySQL >> MySQL本体です。パッケージにはバージョン名などもついています。
- MySQLStartupitem >> MySQLを自動起動させるツールです。
- MySQL.prefPane >> システム環境設定からMySQLの起動、停止などができるツールです。
データベースドライバのインストール
gemを使ってMySQL/Rubyインストールします。sudo env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
オプション指定でハマってしまうことが多いようなので、お忘れなく。
MySQLへの接続テスト
Rubyのインタプリタ(irb)を使って接続テストをします。irb irb > require 'rubygems' irb > require 'mysql' irb > Mysql.new('localhost', 'root', 'password', 'test')エラーが表示されずに、Mysqlオブジェクトのハッシュコードが表示されれば、OKです。