Mac on Rails
Railsが動くまでの環境を構築
Railsが1.8だったのでバージョンアップ
$ sudo gem update --system $ sudo gem update $ sudo gem install rails $ ruby -v && rails -v ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9] Rails 2.3.3
Rubyの公式サイト見ると最新版は1.9.1だけど、
railsは最新版の2.3.3になった。
rubyのバージョンはMacに依存する感じがするからあげるのやめておく。
Apache+MySQL環境はXAMPP環境を利用することにする。
ドキュメントルートにプロジェクト作成
$ rails -d mysql gtd
DB3種類作って、mysqlからワイルドカードで特権を与えたユーザーを作る。
conf/database.ymlを編集
動作確認
$ rake db <|| エラーなければOK だけど、問題発生。 >| $ script/server Rails requires RubyGems >= . Please install RubyGems and try again: http://rubygems.rubyforge.org |< へ? MacPortsっぽいので、 >| $ sudo port install rb-rubygems |< ということは、最初のgem updateはMac側をあげたことになるので、 >| $ sudo /opt/local/bin/gem update --system $ sudo /opt/local/bin/gem install rails |< やばい、rubyとgemとrailsがmacとmacportsで二重環境になってる。 macports側でやってけば、まぁいいか。 >| $ script/server => Booting WEBrick => Rails 2.3.3 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2009-08-26 19:28:06] INFO WEBrick 1.3.1 [2009-08-26 19:28:06] INFO ruby 1.8.7 (2009-04-08) [i686-darwin9] [2009-08-26 19:28:06] INFO WEBrick::HTTPServer#start: pid=4015 port=3000 |< OK >| $ script/generate scaffold task name:string complete:boolean $ rake db:migrate !! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! no such file to load -- mysql |< 怒られたので >| $ sudo gem install mysql -- --with-mysql-config=/Applications/XAMPP/xamppfiles/bin/mysql_config |< ヘッダーファイルが足らないっっぽい。 面倒なので、mysql環境を構築する この時点でxampp環境がいらなくなる。 >| $ sudo port install mysql5 $ sudo /opt/local/bin/mysql_install_db5 --user=mysql $ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5-server.plist |< phpmyadminが使いたいのでxamppのphp.iniを編集(mysql.default.socketをportでインストールした方へ設定) 付属のphpmyadminだと動作しないので、~/*/Sites/にphpmyadminをダウンロードして設置する。 mysqlのrootにパスワードを設定しないと動作しないので >| /opt/local/lib/mysql5/bin/mysqladmin -u root password '*****' |< で設定。これでphpmyadminから接続できた。 気を取り直して(rakeが/usr/bin/rakeを見ていたので、フルパスでやる) >| $ /opt/local/bin/rake db:migrate |< やっとできたぁ。script/serverして、http://localhost:3000/tasks/もOK