OS XのApp Storeから「アップデートがあるよ」と告げられて、じゃあアップデートするかと「アップデート」を押してもエラーが出るばかり。ということがたまにある。
たとえば、こうなってるのに
アップデートを押すと、こうなる。
ならば「購入済みページ」に行ってみると、同じく「エラーが発生しました」と既に赤く文字が出ているし、その右の「アップデート」を押しても、果たして同じことを言われます。
だから「購入済み」ページからダウンロードし直してんだってのに!
そんなときは。ターミナルを開いてこれを実行し、
defaults write com.apple.appstore ShowDebugMenu -bool true
App Storeを終了させて、また立ち上げる。するとApp StoreのメニューバーにDebugメニューが出現しているので、Reset Applicationメニューを選択する。
またApp Storeを終了させて、立ち上げる。
おお、ダウンロードできるようになった!
この方法は Xcode 4.5.1 fails to download on OS X 10.8.2 | Apple Support Communitiesに記載されている。
どうやってこのページにたどり着いたかというと、カギはsyslog. OS XはUNIXの一種だから、中で起きていることはほぼ全てログを見れば手がかりがある。何か困った現象があり、それが再現できるなら、ターミナルを開いて tail -f /var/log/system.log しておき、いったんターミナルの表示内容をクリアなどしてから、困ったことを再現してみる。
そのとき、system.log に何かがばらばらっと出たら、それはその困ったことに関連したことかもしれない。手がかりかもしれない。実際、iTermで tail -f /var/log/system.log しておいてからApp Storeで「アップデート」を押してエラーを起こしてやると、こんなログが出た。
真摯な開発者であれば、出ていることの全てを追っていって理解しようとするだろうが、僕はとりあえず問題解決すればいい。
(そこまで真摯だったらオープン・ソースなOSのほうを使うし、OS Xなんて売り物UNIXを使ってるのは、時間・金・性能・互換性・使い勝手などのバランスが良いってだけ)
いちおう Found asset mzps1464996493953336868.pkg on disk for item 497799835 - Size 0 という、何かソフトウェア・パッケージのファイルっぽいものがサイズ0っぽいくさい? ところを嗅いで locate mzps1464996493953336868.pkg してみたが、見つからない。
(OS Xはデフォルトではlocateデータベースが生成されないが、そこは事前にアレしてある)
ので、次に PKDistributionController というのをぐぐってみたら、出てきましたよと。
そんなわけで、OS Xで何か5分以上困ったら、/var/log/system.log を見てやってほしい。UNIXのはしくれなんだから。