- 2011-11-21 (月)
- Ruby
半年前のエントリ - Mac OS X で Ruby 1.9 + Rails3 の内容アップデート版記事。Mac OS 環境で手軽に Ruby + Rails 開発環境を構築する手順をば。今回はさらに MySQL (あるいは MAMP 版 MySQL) を使う場合の作業・設定手順も追記。現在 2011.11.21 時点での各ソフトウェアの最新バージョンは以下:
- Mac OS X Lion 10.7.2
- RVM 1.9.2
- Ruby 1.9.3p0
- Rails 3.1.2
- MySQL 5.5.18 (Community Server 版)
1. RVM の導入
$ bash < <(curl -sk https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile $ echo 'rvm_archflags="-arch x86_64"' >> ~/.rvmrc $ source ~/.bash_profile $ rvm -v # 導入完了
ポイントは ~/.bash_profile に環境設定の行を追記する部分。これを別の類似ファイル .profile なり .bashrc なりに変更すると、ログイン時に以下のようなエラーが出る。必ず .bash_profile に記述するべし。
__rvm_setup: command not found
加えて irb で必要な readline も入れておく:
$ rvm pkg install readline
2. Ruby を入れる
$ rvm list known # インストール可能な Ruby バージョンが一覧表示される
任意の Ruby バージョンを導入:
$ rvm install 1.9.3-head --with-readline-dir=$HOME/.rvm/usr $ rvm use 1.9.3-head --default $ ruby -v # 導入完了
3. Rails を入れる
$ gem install rails $ gem install sqlite3 $ rails -v # 導入完了
続いて任意で MySQL Server の導入をば。
4. MySQL Server を入れる
http://www.mysql.com/downloads/mysql/ にて最新版の x86, 64-bit DMG アーカイブ版を入手。
mysql-5.5.18-osx10.6-x86_64.dmg
上記 dmg アーカイブを解凍、mysql-5.5.18-osx10.6-x86_64.pkg と MySQLStartupItem.pkg を順番に実行してインストール完了。次に mysql2 gem を入れるべし。
5. mysql2 gem を入れる
$ ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config $ echo 'export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH' >> ~/.bash_profile
2つめの環境変数 DYLD_LIBRARY_PATH を追加する部分を忘れずに。別途 MAMP 環境等の Apache にて Rails 動かす場合はそっちにも同様の環境変数を通すべし。
導入完了、動作確認
$ cd /tmp $ rails new myproj --database=mysql $ cd myproj $ vim config/database.yml # development と test ブロックの username と password を正しいものに設定 development: adapter: mysql2 encoding: utf8 reconnect: false database: myproj_development pool: 5 username: root # ココと password: # ココを修正 host: localhost $ rake db:create # エラーが出なければ OK $ mysql -u root myproj
おまけ: MAMP 環境の MySQL を使いたい場合
別途新に MySQL Server を立てず、MAMP についてくる MySQL Server をそのまま使いたい場合の導入作業手順。いろいろ試したけど、これをやるには以下の問題があって:
MAMP の MySQL には mysql2 gem のコンパイルに必要な各種ライブラリファイルが含まれていない
ゆえに別途ごにょごにょと細工が必要。ググると MAMP 同梱の MySQL 用に別途 lib, include 系リソースを make し直すやり方等々あるも、どれも手間かかる。なので見出した策としては
- mysql2 gem コンパイル用に、ひとまず別途 MySQL Server をインストール
- コンパイルに関係無い資源をごそっと削除 (460M -> 22M までファイル量削減)
- mysql2 gem コンパイル
なステップを踏むとうまくいった。以下手順をば:
1. MySQL Server をインストール
前述同様、http://www.mysql.com/downloads/mysql/ にて最新版の x86, 64-bit DMG アーカイブ版を入手。mysql-5.5.18-osx10.6-x86_64.pkg の方だけをインストール。
2. 不要ファイルをごそっと削除
$ cd /usr/local/mysql $ sudo du -h -d 1 138M ./bin 1.2M ./data 12M ./docs 684K ./include 181M ./lib 660K ./man 120M ./mysql-test 16K ./scripts 2.4M ./share 2.7M ./sql-bench 96K ./support-files 458M .
と、使わない資源が 400MB 以上あるのでこいつらを削除。
$ sudo rm lib/libmysqld* $ sudo rm -rf docs man mysql-test scripts sql-bench support-files data share $ cd bin/ $ ls -1 | grep -v -E '^(mysql|mysql_config|mysqldump)$' | xargs sudo rm $ cd .. $ du -h -d 1 7.7M ./bin 684K ./include 14M ./lib 22M . # 22MB まで削減された
3. mysql2 gem をコンパイル
ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config echo 'export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH' >> ~/.bash_profile
これで導入完了。
4. Rails プロジェクト作って試す
MAMP の MySQL は初期設定だと linux socket 接続のみな点に注意。config はそこを要修正。
$ cd /tmp $ rails new myproj --database=mysql $ cd myproj $ vim config/database.yml development: adapter: mysql2 encoding: utf8 reconnect: false database: myproj_development pool: 5 username: root password: root socket: /Applications/MAMP/tmp/mysql/mysql.sock # socket 接続方式を指定 $ rake db:create # エラーが出なければ OK
以上。
- Newer: 会社が嫌いになったら読む本 - 楠木 新
- Older: 発達障害に気づかない大人たち - 星野仁彦
Comments:1
- ハマダ2 2011-11-21 (月) 22:19
-
ぼくはMySQLまわりがめんどくさいんでMAMP立ち上げて使っています。