【Mac OS X】Yosemiteをクリーンインストール(初期化)して Rails 開発環境をセットアップした

普段使っているメイン機 MacBook Air (13-inch, Mid 2012) が，突然落ちたりファンの音がうるさすぎたりしたので，クリーンインストールした時の個人的メモ．

普段はRuby/Railsで開発しているので，ついでにセットアップ手順もまとめておく．

(そろそろ新しいMac買おうと思ってたけど，クリーンインストールでサクサク動くようになったΣ(゜Д゜；))

# 再インストールする前に要確認

* ローカルで必要なデータはどこかにコピーしておく
* chromeのブックマークをGoogleアカウントにsyncしているか確認
https://www.google.com/settings/u/2/chrome/syncから数とか確認できる
* cloneしているリポジトリのlocalブランチをpushしているか

# HDD初期化と再インストール

* Macを再起動し，グレーの画面で ⌘ + R を押し続けるとOSユーティリティが起動
* ディスクユーティリティで Macintosh HDを消去
* OSユーティリティに戻ってOS再インストール

# 共通環境設定

* caps lock と control を入れ替え
* 言語を英語に変更
* <a href="https://www.google.co.jp/ime/" target="_blank">Google IME
</a>インストールし，ひらがなのみを適用
* <a href="http://www.bettertouchtool.net/" target="_blank">BetterTouchTool
![better-touch-tools.png](https://qiita-image-store.s3.amazonaws.com/0/31862/a2ad9136-5a04-984c-b382-43dc6e396540.png)

* [Karabiner](http://qiita.com/daichi87gi/items/ded35e9d9a54c8fcb9d6 "Karabiner")
* 隠しファイル表示
   > $ defaults write com.apple.finder AppleShowAllFiles TRUE

# よくつかうアプリ

* Chrome
* Slack
* Rubymine
アプリケーション起動時にJVMのinstallが必要
* WebStorm
* SourceTree
* iTerm2

# コマンドラインツール

## node

```
$ brew install node
```

## npm

```
$ curl -O -L https://npmjs.org/install.sh
```

## bower

```
$ npm install -g bower
```

## grunt

```
$ npm install -g grunt-cli
```

## brew

```
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

## Git・GitHub

**gitをインストール / SSH設定**

```
$ brew install git
$ ssh-keygen -t rsa -C "mail@mail.com" ←パスワードは空でもOK
$ pbcopy &lt; ~/.ssh/id_rsa.pub
```
GitHubのSSH Key設定ページに作成した公開鍵を登録する．

**config設定**

```
$ git config --global user.name "Name"
$ git config --global user.email mail@mail.com
```
その他普段使っているaliasを設定

## vim
```
$ brew install vim
```

## rbenv
```
$ brew install rbenv ruby build
```

## ruby
```
$ rbenv install --list
$ rbenv install x.x.x
$ rbenv --global x.x.x (任意)
```

## bundler
```
$ gem install bundler
```

# Rails Project

## mysql

```
$ brew install mysql
```
root user作成

```
$ mysqladmin -u root password <em>PASS</em>
$ mysql -u root -p でログインできるか確認
```

Railsで使用するユーザを作成

```
mysql> create user 'xxx-dev'@localhost identified by '<em>PASS</em>';
mysql> grant all on *.* to 'xxx-dev'@'localhost';
mysql> create user 'xxx-test'@localhost identified by '<em>PASS</em>';
mysql> grant all on *.* to 'xxx-test'@'localhost';
```

ignoreしているファイルを追加

```
config/secrets.yml
config/database.yml
.rspec
```

Gemfile追加
```
$ bundle install
```

**※ imagemagickのエラーが出た場合**

 ![image-magick-error.png](https://qiita-image-store.s3.amazonaws.com/0/31862/7ba466cb-8b8e-f63d-f878-324b161ef3a6.png)

imagemagickをインストールする．

rmagickがimagemagickを使用するが，imagemagickはgemでinstallできないため，マシンのを参照しようとするがinstallされていないことが原因

```
$ brew install imagemagick
```
**※ RMagick 2.16.0 の時点では ImageMagick 7 系に未対応であり、ImageMagick 6 系を入れる必要がある らしい**
参考：[rmagickのインストールにハマった](http://qiita.com/gakkie/items/1ec4c0362047154f1690)
       
**※ nokogiri 関連のエラーの場合**

gemのconfigを変更するか、optionを付けてnokogiriをインストールする
[参考:Mac OSX YosemiteにNokogiriをインストールする](http://www.muratayusuke.com/2015/01/05/mac-osx-yosemite%E3%81%ABnokogiri%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/)

# テーブル作成・アプリ実行

```
$ rake db:create
$ bundle exec rake db:migrate RAILS_ENV=development
$ bundle exec rails s
```