Mavericksへのアップデートではまった点
遅ればせながら、開発で使用している MacBook Pro を Mountain Lion から Mavericks にアップデートしました。
アップデートした日は、たまたま海の日でした。Mavericksにぴったりです。
(「Mavericks」というのは、北カリフォルニアのサーフィンの名所らしいです。)
それにしても、Mac OS のアップデートは結構大変ですね。
結局、ほぼ丸1日かかってしまいました。
Windowsのスムーズさが懐かしくなります。
次の Mac OS X Yosemite の時も役立ちそうなので、はまった点をまとめておきます。
なお、ほとんどの内容は開発者向けです。
「残り1分」問題
Mavericksへのアップデートを実行して「残り1分」の表示が出たのですが、その状態から1時間ほど経って終わりませんでした。
ググってみると、Apple製品ではよくあることのようです。
その後、さらに1時間ほどしたところで無事に終わりました。(合計で約2時間)
なお、電源オフ、オンしたという話もありますが、辛抱強く待った方が良いと思います。
gitが入る
Mountain Lion では、Homebrewからgitを入れたのですが、Mavericksではデフォルトで入っていました。
$ which git /usr/bin/git $ git --version git version 1.8.5.2 (Apple Git-48)
Homebrewなどで入れている場合はパスの指定で注意が必要です。
Homebrewで入れたモジュールが使えない
どうやら /usr/local/bin
や /usr/local/opt
のシンボリックリンクが消されてしまったようです。
以下のコマンドで復活しました。
$ brew list | xargs brew unlink $ brew list | xargs brew link
なお、
Warning: readline is keg-only and must be linked with --force
といったワーニングが出る場合がありますが、その場合は以下のように --force
オプション付きで個別にリンクする必要があります:
$ brew link readline —force
参考: Bureimono stdio.h: OS X Mavericks にアップデートしたら brew でいれた諸々へパスがおかしくなった
自動起動設定が消えている
~/Library/LaunchAgents
に入れた自動起動設定が消えてしまうようです。
僕の環境ではMongoDBの設定が消えていました。
再設定する必要があります。
NodeJS関連
NodeJSはnaveで入れているのですが、naveのシンボリックリンクも消えていたので、付け直しました:
$ ln -s /usr/local/opt/nave/nave.sh /usr/local/bin/nave
でも、まだnpm
が使えません。
naveの環境が壊れている感じがするので、再設定することにしました:
$ nave usemain 0.10.8
これで、npm
コマンドも使えるようになりました。
Cordova
cordova
コマンドも使えなくなっていました。
npmで入れていたので、再インストールすることにします:
$ npm install -g cordova@3.4.1-0.1.0
これで使えるようになりました。
Ant
Apache Ant は、Mountain Lion にはデフォルトで入っていたようですが、Mavericksでは使えなくなりました。
そこで、Homebrewでインストールします:
$ brew install ant
php.iniが消えた
WordPressのサイトを起動してアクセスしようとしたところ、ブラウザで「データベース接続確立エラー」が出ました。
調べてみると、/etc/php.ini
ファイルがなくなっていました。
仕方がないので、Time Machine から取り出して戻したところ、正常にアクセスできました。
やはり、バージョンアップ前のバックアップは必須ですね。
追記
後で気づいたのですが、php.ini
ファイルはphp.ini-5.2-previous
という名前に変更されて残っていました。失礼しました。
あと、PHPのバージョンが上がっているので、php.ini.default
との差分を取って内容を見直した方が良いでしょう。
Wi-Fiにつながっているのにビックリマークが付く
Mavericksにアップデートした後、Wi-Fiにつながっているのに、Wi-Fiアイコンがグレー表示になり、ビックリマークが表示されるようになりました。
Macを再起動しても直りません。
ググってみると、いくつか解決策が見つかったのですが、以下の方法が簡単そうだったのでやってみました:
以下の2つのファイルをバックアップ(またはリネーム)。
/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/preferences.plist
Macをリブート
これで直りました。
なお、この方法だとネットワーク設定がリセットさせるので注意してください。
参考: Wifi Greyed out with exclamation mark, but wifi... | Apple Support Communities
ちなみに、Wi-Fi関連については、7月1日にリリースされた Mavericks v10.9.4 で、Wi-Fi接続に関する問題が修正されたようです。
この問題に関してはネットで騒がれていて、Windowsに鞍替えした人も出たようなので、今頃アップデートするぐらいでちょうど良かったのかもしれません。
参考: OS X Mavericks v10.9.4 アップデートについて
まとめ
今回、初めて Mac OS のバージョンアップを行ったわけですが、そこで学んだことをまとめておきます。
これらを踏まえて、以下のことを推奨します。
- バージョンアップ前のバックアップ取得は必須。
バックアップなしで行うのは自殺行為に近い。設定ファイルをコピーしておくと復旧作業がはかどる。 - リリース後、しばらく様子を見てからバージョンアップするべき。特に、致命的なバグがないか、事前にしっかり調べた方が良い。
まあ、他のOSでも似たようなことが言えるのですが、Mac OS の場合はさらに注意した方が良いと思います。
さて、時代はもう次のバージョン Yosemite に移りつつありますね。
Mavericks では、正直 Mountain Lion との違いをあまり感じませんが、Yosemite では大幅な変更が入りそうですね。
その分、不具合も多くなりそうなので、バージョンアップはまた1年後になるかもしれません。
追記:コンピュータ名の設定が消える
後で気づいたのですが、コンピュータ名の設定が消えていました。
$ hostname localhost
再設定する必要があります。
追記:KeyRemap4MacBook でEjectキーの設定が効かなくなった
KeyRemap4MacBookというアプリでEjectキーをForward Deleteに変更していたのですが、それが効かなくなりました。
調べてみると、KeyRemap4MacBookは「Karabiner」という名前に変わっていました。
そしてEjectキーを変更するのに「NoEjectDelay」というアプリを入れていたのですが、このアプリはOSがバージョンアップすると、それに対応したバージョンをインストールする必要があるようです。
NoEjectDelayをアップデートして解決しました。