諸事情でSnow Leopardへのアップグレードに躊躇しているため、現在の環境、LeopardへRailsの(再)環境構築忘備録です。

MacPortsはインストール済みです。

Ruby on Railsの再勉強をしてみようと思ったのが再構築の始まりです。
Leopardには初めからRailsの開発環境がほぼ入っているので、簡単に開発環境整えられるだろうと思っていたのですが、所々でエラー・・・。

環境

  • Ruby 1.8.7
  • gem 1.8.8
  • Rails 2.3.8(このページの作業終了後に3.0.9にアップグレードされてました)
  • sqlite 1.3.1

1、sudo gem updateでエラー

コマンドを実行するとエラーがいっぱい・・・。

Leopardでは必要ないコマンド

$ sudo port install rb-rubygems
$ sudo gem update --system
$ sudo gem update

を実行し、rubygemsを再インストール。
エラーは取り敢えず無くなった。

次はサーバ起動
$ script/server

2、こんな感じのエラーが出て起動せず・・・。

uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)

このコマンドを実行するとエラーは無くなりサーバは起動しました。
$ export DYLD_LIBRARY_PATH=/usr/lib

ですが、このコマンドちょっとヤバいのかも・・・。
MacPorts のために DYLD_LIBRARY_PATH を使ってはいけない理由
DYLD_FALLBACK_LIBRARY_PATHを使った方が良いのかも。

3、サーバ起動後、アクセスすると・・・

dyld: lazy symbol binding failed: Symbol not found: _sqlite3_initialize
Referenced from: /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle
Expected in: /usr/lib/libsqlite3.0.dylib

こんなエラーが出てサーバが起動出来ず・・・

sqliteがいけない??
訳分からないので、アンインストールし、
$ sudo gem uninstall sqlite3-ruby

もう一度インストールし直した。
$ sudo gem install sqlite3-ruby

config/environment.rb ファイルの修正

# config.gem “sqlite3-ruby”, :lib => “sqlite3”
↑この行(4行目)のコメントアウトを外して、

config.gem 'sqlite3-ruby', :lib => 'sqlite3', :version => '!= 1.3.1'
と修正。

この3つを修正する事で、Railsの起動が成功!

MacにRailsをゼロからインストールする一番簡単な方法を参考にさせていただき、

Hello World!

の表示を確認。

さあ、今後どんどん勉強して行くぞ!

【追記】
このページの作業終了後にRailsのバージョン確認したら3.0.9にアップグレードされてました。
自分的にはどうせなら3.0系で勉強再開したかったので良かったです。
この本で勉強始めました!
スイスイ進められて良い感じです。

こういうブログもありました。

人気のあるブログ: