Mountain Lion Rails最新環境詳解構築手順 [Homebrew][MySQL][rvm][Pow][Ruby]


Where?

Mountain LionにRailsのモダンな開発環境を構築するまでの一連の手順をまとめました。
Macを新しく買ったり、OSを再インストールした時などは良かったら使ってください!


🗽 目次

(1) 基本ソフトウエアのインストール

(2) Homebrew/Gitのインストールなど

(3) MySQLのインストール

(4) rvmのインストール

(5) Railsのモダン開発環境構築

(6) メモ:Tips集

🚜 (1)基本ソフトウェアのインストール

Macのアプリケーションをインストールします。

Mac App Storeからインストール

XCode - 必須

Homebrewでコンパイルするときに必要

Xcodeをインストールしたら、Xcodeを起動してCommand LINE Toolをインストール。

fpu_tmp_1355294056.3931_945c27

fpu_tmp_1355293979.2283_d1e743

Mac App Store - Dash (Docs & Snippets) - 任意

スニベットツール(よく使うコードを登録して、短縮キーワードで呼び出す)、無料でも使えるが、かなりの割合で購入(850円)を勧めるアラートがでます。
もし、テキストエディタ(VimやSublime Textなど)でスニベットツールを使っていないのであればぜひ。

StuffIt Expander - 任意

無料の解凍アプリケーション。標準の解凍アプリケーションより安定しているのでお勧め。

Webからダウンロード

RubyMine - 任意

Ruby on Rails用のIDE(統合開発管理ツール)です。個人利用版は$69(約6,000円)ですが、体験版は1ヵ月無料(機能制限なし)なので良かったら試してみてください。

iTerm2 - Mac OS Terminal Replacement - 任意

標準のターミナルに比べて多機能。ただし、β版はカナリ冒険しているので安定版を使うことをお勧めします。

Sublime Text2 - 任意

超有名なテキストエディタアプリケーション。無料でも製品版($59)と同じ機能で使える。無料版の場合は、たまに購入しませんか? ってアラートがでます。

このテキストエディタにはマークダウン用のパッケージ、MarkdownEditingもとっても使いやすいのでオススメです。

f.lux - 任意

ディスプレイの色温度を昼/夜で調節してくれるアプリケーション。個人的にJIN PCメガネをずっと買おうと思ってたので助かる!

Chrome - 任意

いわずと知れたGoogle謹製のブラウザー。Dev Toolがないと生きていけない。

Google 日本語入力 - 任意

同じく、Google製の日本語入力ツール。無料では最強だと思います。

Evernote - 任意

クラウドでいつで戻こでも最新のノートが見れるアプリケーション。容量の大きなデータを保存しなければ、無料で十分使えます。

Dropbox - 任意

クラウドでいつで戻こでもファイルを保存・閲覧できるアプリケーション。
ローカルフォルダ感覚でほとんど意識せずに使えるのは本当にすばらしいです!

👽 (2)Homebrew/Gitのインストールなど

ターミナルを開いて以下を順に実行します。

Command LINE Toolの初期設定。下のコマンドを実行して、agree(同意)を選択。

sudo xcodebuild -license

Homebrewのインストールするためのコマンドを実行。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

コマンドが終了したら、brew -vで確認。バージョン情報が出ればOK。

GitをインストールとGitの初期設定。

brew install git
git config --global user.name "ユーザー名"
git config --global user.email email@example.com

Git共通の。gitignoreファイルをGitHubの.gitignoreテンプレート(多数のフレームワークに対応)を参考に作成します。

.bashrc, .bash_profileの設定は、次のリンクを参照。

Mac Bashの設定

🚕 (3)MySQLのインストール

コマンドラインから以下を実行。

brew update
brew install mysql

インストールが完了したら次のようなコメントがでます。

(バージョンによって多少変わる可能性あり。自分の環境での表示を優先)

$ brew install MySQL
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.10.mountain_lion.bottl
######################################################################## 100.0%
==> Pouring MySQL-5.6.10.mountain_lion.bottle.tar.gz
==> /usr/local/Cellar/MySQL/5.6.10/bin/mysql_install_db --verbose --user=komji --basedir=/usr/local/C
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
MySQL -uroot
To have launchd start MySQL at login:
ln -sfv /usr/local/opt/MySQL/*.plist ~/Library/LaunchAgents
Then to load MySQL now:
launchctl load ~/Library/LaunchAgents/Homebrew.mxcl.MySQL.plist
Or, if you don't want/need launchctl, you can just run:
MySQL.server start
==> Summary
🍺 /usr/local/Cellar/MySQL/5.6.10: 9245 files, 351M

次にMySQLを起動時に自動でSTARTさせるための設定をします。

まず、以下のコマンドを実行して自動起動用plistをコピー。

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

次にコピーしたplistは常に起動するように設定されているので、stopで終了できるように修正します。またバージョンアップに対応しやすいように、パスを修正します。

vim ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
# ↓ の部分を修正
<key>KeepAlive</key>
<false/>
<key>Program</key>
<string>/usr/local/bin/mysqld_safe</string>

修正が完了したら、MySQLの簡単なチューニングを行います。

vim /usr/local/Cellar/MySQL/x.x.xx/my.cnfの中の次の設定を変更します。

(x.x.xxはバージョン、環境によって適宜変更してください)

innodb_buffer_pool_size = # サーバのメモリ70〜80%
innodb_log_file_size = # 100-500MB程度
innodb_flush_log_at_trx_commit = 2

次に、自動起動の設定をします。

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

もし修正して再読み込みさせたい場合は次のコマンドを実行してください。

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

次にMySQLのroot(管理者)のパスワードとTestDBの削除等を対話形式で行います。

mysql_secure_installation

以下は僕の設定です。

Set root password?(rootパスワード設定) => N
Remove anonymous users?(匿名ユーザー削除) => Y
Disallow root login remotely?(remote connectは許可しない) => Y
Remove test database and access to it?(テストDB削除) => Y
Reload privilege tables now?(権限リロード) => Y

🎳 (4)RVMのインストール

Rubyのバージョン管理を行ってくれるRVM(Ruby Version Management)をインストールします。

curl -L https://get.rvm.io | bash -s stable

RVMのインストールが完了したら設定を読み込むために、コンソールで以下を実行。

(user_nameは自分のユーザー名にしてください)

source /Users/user_name/.rvm/scripts/rvm

続いてRVMの初期設定を確認します。下のコマンドを実行するとインストールが必要なものが列挙されますので、Homebrewでインストールしてください。

rvm requirements

僕の環境では次のコマンドを実行。

brew update
brew tap homebrew/dupes
brew install autoconf automake apple-gcc42
rvm autolibs enable

Rubyをインストールします。まず、インストールするバージョンを確認。

rvm list known

一覧が出るので、インストールしたいRubyのバージョンを指定します。

(もし、特に指定がなければ1.9.3がお勧めです。 2012/12月時点)

インストールは次のコマンドを実行。

rvm install 1.9.3

完了したら、Rubyがインストールされているか確認。

rvm list

Ruby-1.9.3-xxxx [ x86_64 ]など指定したバージョンが出れば成功。

続いてデフォルトのRubyのバージョンを設定。

rvm --default 1.9.3

デフォルトでgemインストール時にドキュメント生成しないようにします。
~/.gemrcを開いて次の内容を追加。

gem: --no-ri --no-rdoc

ちなみに、各プロジェクトのフォルダ毎にRubyのバージョンを指定したい場合は、.Ruby-versionをフォルダ直下に作成して、次の内容を記述。

ruby-1.9.3-p392

また、bundle execを毎回実行するのは面倒ですので、hookを有効にします。

chmod +x ~/.rvm/hooks/after_cd_bundler

😎 (5)Railsのモダン開発環境構築

ここからは次の4つの記事を参考にしてください。

(この4つの記事はお互いが連携してしまっているので、少しわかりにくいかもしれません。
もし何かつまるようなことがあったり、記述が間違っていたらぜひコメントください)

Powのインストール

Mac限定ですが、設定が不要で開発に最適なサーバPowのインストール手順を次の記事にまとめています。よかったら参考にしてください。

開発サーバをThinからPowに切り替えて開発効率アップ! (Mac限定)

Railsでプロジェクトを構築

もし、Railsのプロジェクトを作成するなら次の記事がオススメです。
(あると捗るメジャーなGemも含んでいます)

Rails 3.2.9/Bootstrap/Haml プロジェクト新規作成 最短ガイドだよ!

モダンなTDD環境の構築

Railsをする上でお勧めのテスト駆動開発(TDD)環境の構築手順を次にまとめています。
よかったら参考にしてください。

RSpec/Spork/Guard/Growl/Rails 3.2.9で作る - プリチーなTDD環境!

最強のRubyデバッグツールPryを最大権活用するための設定

PryはRubyの開発で必須といっても過言ではないほどのすばらしいツールです。このPryの活用方法を次にまとめています。

Pryの秘めた力を最大限引き出す4つの拡張機能[Rails]

SSH認証鍵の設定

もし、GitHubやBitbucketと連携する際にSSH認証を行いたい場合は次の記事にまとめています。

SSH認証キーをBitbucket/GitHubに設定しよう!

😀 (6)メモ:Tips集

以下は必須ではないですが僕がやった設定です。

Sublime Text2をコマンドラインから呼び出せるようにする

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

コンピュータ名を変更。

アプリケーション >システム環境設定 >共有 >コンピュタ名 >(変更) 

トラックパッドの下スクロールを変更。

アプリケーション >システム環境設定 >共有 >コンピュタ名 >(変更) 

アプリケーションのインストールでエラーが出る場合は以下を変更

アプリケーション >システム環境設定 >セキュリティとプライバシー >一般 >ダウンロードしたアプリの実行許可> すべてのアプリケーションを許可に変更 

Xcodeで自動生成されるソース内の個人名/会社名を変更(Mountain Lionは違うかも。..)

(1)連絡先を開く
(2)自分のカードを表示する。(メニュー:カード>自分のカードを表示)
(3)編集モードにする。(メニュー:編集>カードを編集)
(4)会社名を入力する。(会社が入力した文字列に置き換わります)

🚌 補足:RVMを再インストール

何かの理由でRVMを再インストールする場合の削除コマンドは次のとおり。

rvm implode

🎉 補足: Library not loaded: libssl.1.0.0.dylib

rvm側のライブラリが足りない場合にこの系のエラーが出るようです。

dlopen(/crownd/project/ruby/cron.watch.rankhub.net/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: /Users/user_name/.rvm/usr/lib/libssl.1.0.0.dylib

この場合は、rvm autolibs enableとしたら解決しました。

🎃 参考リンク

OS X 10.8 Mountain LionにLAMP環境とWordpressを構築したときのメモ

HomebrewでMySQLをインストールする時に知っておきたいこと

【初心者向け】Mac OSX10.8(Mountain Lion)で Ruby on Railsを動かすための5ステップ

2012-11-27 Mountain Lion に Ruby 1.9.3 & Rails 3.2.8 をインストールした

素のMountain LionにRVMを

ruby - How to make –no-ri –no-rdoc the default for gem install? - Stack Overflow

コマンドラインからSublime Textを使えるようにする

初心者Git日記その六~PCでGit初期設定とGitHubへのpush~

Homebrewを快適に使うために設定してる4つのこと

ruby-versionを使う

bundle execを使わずにすむ方法 #Rails - Qiita [キータ]

🤔 変更来歴

12/12 21:33 Growlをアプリ説明らから削除

12/13 11:00タイトルを変更、目次系の間違いを修正

12/18 20:35 RVMでのオススメのRubyバージョンを1.9.3-head => 1.9.3に変更

12/23 23:45 .gitignore/.rvmrcへの設定についての記述を追加

04/17 09:50最新の状態に記事をアップデート

04/18 23:00 Pryの記事を追加

04/24 11:43 RVMのbundle exec hookを追加

05/20 17:25 MySQLのチューニング設定を追加

05/21 23:10 MySQLのインストール手順の記述順序を修正

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)