Ruby/Rails開発者向け・やめておけYosemiteアップグレードガイド

## 2015.1.9 追記

こんな記事書いてごめんなさい。
Yosemite、やっぱり使い物にならないです。Mavericksの人はそのまま使い続けることをオススメします。

<blockquote class="twitter-tweet" lang="en"><p>Yosemite、ホントにダメダメだ。Mavericksで止めておけば良かった。OSとしての基本機能があちこち不安定になった。レインボーマークは出まくるし、トラックパッドは突然動かなくなるし。毎日のように再起動してる気がする。作業がたびたび中断されるので仕事道具として致命的。</p>&mdash; Junichi Ito (伊藤淳一) (@jnchito) <a href="https://twitter.com/jnchito/status/553357244855619585">January 9, 2015</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="en"><p>YosemiteでしばらくMacBook Pro本体だけで使ってたら、外付けのMagic Trackpadの接続が切れて、それ以降Macを再起動するまで再接続できなくなる問題、本当に勘弁してほしい。Yosemiteにしてからシャットダウンにも時間がかかるし、完全に時間の無駄。</p>&mdash; Junichi Ito (伊藤淳一) (@jnchito) <a href="https://twitter.com/jnchito/status/554494613289844736">January 12, 2015</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="en"><p>サブディスプレイをつないだり切ったりするときに数分間レインボーマークが回り続ける問題もツライ。こういう日常的に行う操作がYosemiteになってからあちこちでおかしくなっているので、トータルするとかなりの時間がYosemiteのせいで無駄になってる。Mavericksに戻りたい。</p>&mdash; Junichi Ito (伊藤淳一) (@jnchito) <a href="https://twitter.com/jnchito/status/554495970902155264">January 12, 2015</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

## はじめに

Yosemiteが正式公開されてから1ヶ月以上経っていますが、ようやく僕もMavericksからYosemiteにアップグレードしました。

この記事では僕がYosemiteにアップグレードした際に遭遇した問題とその解決策をまとめます。

僕はRuby/Railsの開発をメインでやっているので、同じような開発環境の人は参考になるかもしれません。

### 備考

- 今回、クリーンインストールはしていません
- 僕が使用しているMacは MacBook Pro Retina (Mid 2012) です


## インストール手順

1. バックアップを取る（[Time Capsule](http://www.amazon.co.jp/gp/product/B00DCM3W26?ie=UTF8&camp=1207&creative=8411&creativeASIN=B00DCM3W26&linkCode=shr&tag=junic05-22)が便利！）
1. 寝る前、もしくは外出する前に1時間ほど時間を用意する
1. ダウンロード＆インストールを開始する
1. インストールのプログレスバーが残り1分になったら外出するもしくは寝る
  - 残り1分ではなく、ダウンロードが終わってマシンを再起動させた直後でも良いですが
  - もしかして止まってる？と不安になったときは Command-L でインストールログを見ることができます。
1. 帰宅したら、もしくは翌朝になったらインストールが終わっているはず
  - 実際には数十分～数時間ぐらい？
  - 僕は外出してたので正確な時間はわかりません
1. 開発環境の動作確認をする
  - 特に現在進行中のプロジェクトを重点的に確認
  - テスト（RSpec等）を実行してオールグリーンになることを確認する
  - ブラウザからRailsアプリにアクセスしてみてみる
  - 開発ツールの動きを確認する
  - などなど
1. 問題が出た場合は以下の内容が役に立つかも
  - 役に立たなかった場合は各自でググってください。。。

## 問題1：Postgresが動かない

RSpecを実行すると「Postgresに接続できない」というようなエラーが出ましたが、以下の手順で解決しました。

### 解決策：消えたフォルダを再作成する

#### 1. lsコマンドで以下のパスにあるディレクトリの中身を確認

````bash
ls /usr/local/var/postgres/
````

#### 2. 下記の3つのディレクトリが存在するか？

````bash
pg_tblspc
pg_twophase
pg_stat_tmp
````

存在しなければ次へ。存在していた場合は他の原因っぽいので自力で解決してください。

#### 3. なくなったディレクトリを作成する
 
````bash
mkdir /usr/local/var/postgres/pg_tblspc
mkdir /usr/local/var/postgres/pg_twophase
mkdir /usr/local/var/postgres/pg_stat_tmp
````

おそらくこれで接続できるようになるはずです。

### 参考情報

[Mac OS X Yosemite Upgrade & PostgreSQL](http://foobartel.com/2014/10/yosemite-upgrade-postgresql/)

## 問題2：Powが動かない

[Pow](http://pow.cx/)経由で `http://sample-app.dev` のようなURLにアクセスすると、 `ERR_CONNECTION_REFUSED` というエラーが出て画面が開けませんでした。

この問題は以下の方法で解決しました。

### 解決策：Powをアップデートし、Macを再起動

Powをアップデートするだけではダメでした。Macを再起動したら普通に画面が開きました。
ちなみにこの時点での最新バージョンは 0.5.0 です。

````bash
curl get.pow.cx | sh
````

### 参考情報

https://github.com/basecamp/pow/issues/452


## 問題3：RubyMineが動かない

RubyMineを起動しようとすると、Java SE 6をインストールしろ、みたいなポップアップが出て起動できませんでした。

### 解決策：AppleのJava 6をインストールする

下記リンクからJavaをダウンロードしてインストールしてください。

[Java for OS X 2014-001](http://support.apple.com/kb/DL1572)

### 参考情報

[YosemiteでJetBrains IDEを動かす](http://samuraism.com/2014/10/17/2555)

## その他、使ってみて気付いたこと

上記のような対応で僕のRuby/Rails開発環境は普通に使えるようになりました。
（まだ2～3日しか使っていないので、この先にまだ落とし穴があるかもしれませんが・・・）

その他、致命的な問題ではないものの、ちょっと気になった点をいくつか書いてみます。

### 最大化ボタン（緑の丸ボタン）をクリックするとフルスクリーンになる

Mavericks以前は緑の丸ボタンをクリックすると画面内でウインドウを最大化するようになっていましたが、Yosemiteではフルスクリーン表示になります。

フルスクリーンではなく、以前のようにウインドウを最大化したい場合は **タイトルバーをダブルクリック** するか、 **alt(option)ボタンを押しながら緑ボタンをクリック** してください。

### 画面がブラックアウトしやすい

サブディスプレイをつなぎ直したりすると、数秒間画面が真っ暗になって何も操作できなったりします。
しばらく待つと普通に戻ります。

シャットダウンするときも数秒間真っ暗な画面で待たされます。

こんなふうにYosemiteにしてから「真っ暗な画面を見ながらしばらく待つ」という時間が増えました。

### サブディスプレイのスピーカーから音が鳴り始めた

今まではサブディスプレイをつないでも音が出なかったのに、Yosemiteにしてからサブディスプレイのスピーカーから音が鳴るようになりました。

でも、音質があまり良くないので、システム設定で本体のスピーカーを使うように戻しました。

ちなみに使っているディスプレイは [EIZO FlexScan EV2736W-FSBK](http://www.amazon.co.jp/gp/product/B008U06TYI/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B008U06TYI&linkCode=as2&tag=junic05-22) で、DisplayPort(Thunderbolt) 接続です。

### 輝度調整や再生/停止の反応が鈍い

Macはファンクションキーで液晶の輝度調整や音楽の再生/停止ができますが、Yosemiteにしてから反応が遅くなった気がします。
今まではボタンを押した瞬間に変わっていたのが、Yosemiteでは1テンポ遅れるイメージです。（0.5秒～1秒ぐらいのラグがある）

### 漢字変換がときどき重くなる

ブラウザでフォームに入力したりすると、「漢字変換がなんか重たい（スペースバーを押してから変換されるまでラグがある）」と感じることが増えました。
僕は日本語入力システムに[ATOK](http://www.amazon.co.jp/gp/product/B00KKVZTAU/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00KKVZTAU&linkCode=as2&tag=junic05-22)を使っているので、ATOKに何か原因があるのかもしれませんが、詳しい原因はよくわかりません。

## まとめ：とはいえ、総じて悪くないですよ

今回は問題点ばかりを挙げていったので、「Yosemite怖い」と思った人がいるかもしれませんが、思ったよりスムーズに移行できましたし、使っていても大きな不満はありません。
ネット上の
人柱
情報も増えてきているので、問題があってもググればすぐに解決できる可能性が高いです。

使う前はちょっと抵抗があったフラットデザイン風なUIも、実際に使ってみると意外と悪くないと思いました。

Yosemiteにしてから起動しなくなった、というアプリも今のところ特にありません。

というわけで、まだアップグレードしていない人はそろそろアップグレードしてみてはどうでしょうか？
個人的にはもう大丈夫なんじゃないかな～と思っています。