32 迷走の記録: 古い macOS, Xcode, MacPorts に戻す

数日前に Mojave (モハベ, macOS 10.14) がリリースされましたが、 人身御供になるつもりはなく、しばらくは静観します。


夏休みに (もう「休み」という気はしないな)、身近にあるほとんどの Mac の OS を macOS 10.13 (High Sierra) にアップグレードしたのですが、 皮肉なことにダウングレードしたい状況になりました。


とある古いソフトが古いコンパイラーでないと make に問題がありそう。 そのコンパイラーを MacPorts でインストールするには、 古い Xcode が必要で、古い Xcode を使うには古い macOS が必要、 ということです。

macOS のアップグレードは普通にやり方が整備されているわけですが (したくなくても勧められたりする)、 ダウングレード (というのかな?) はどうするのか。

High Sierra がインストールされている Mac で、 El Capitan のインストーラーをダブルクリックすると、 この OS では使えない、という意味のメッセージが表示される。 ダウングレードは考慮されていないみたい (まあ、無理はないかもしれない)。


インターネットリカバリーというのを使うと、 Mac が出荷時にインストールされていた OS に戻すことが出来る、 というのを知っていました (以前ぶっこわして利用したことがあります)。

やり方はネットに説明がいくつかあるのでここでは詳しいことは省略しますが、 件の Mac の OS が High Sierra だったので、 (option+command+R を押しながら再起動ではなくて) shift+option+command+R を押しながら再起動する必要がありました。 単に option+command+R とすると、出荷時の OS ではなく、 インストール可能な最新 OS のインストールしか出来ないように変更されています。 気がつかなかったので、少し時間をロスしました。


今回の Mac は MacBook Air (13-inch, Mid 2011) ということで、 Lion (Mac OS X 10.7) に戻りました。 なかなか懐かしい雰囲気。

でもこれはさすがに古すぎるので、 適度に新しい El Capitan (macOS 10.11) にします。 これは MacPorts の WWW サイトで、 現在ふつうに用意されている最も古いインストーラーが El Capitan のものであり、 それならば必要なバージョンの Xcode が動くはず、という判断です。


App Store の「購入済み」から El Capitan のインストーラーを入手して、 アップグレードするつもりでしたが、 なぜか Apple ID ではじかれます (隣の Mac では通るので、パスワードまちがえてないのは確実なんだけど)。 あれえ?2ファクタ認証のせいか? 追求する気力がなかったので、別の Apple ID を入力したら、 すんなり通りました。


こちらのアカウントでは、購入済みに El Capitan がない…こういう状況は経験済みで

「最新版でないバージョンへのアップグレードはどうするか」 http://nalab.mind.meiji.ac.jp/~mk/labo/text/upgrading-my-env/node7.html
にメモを残したようにすればよい。 今回は「El Capitan をダウンロード」で検索して、
「OS X El Capitan にアップグレードする方法」
https://support.apple.com/ja-jp/HT206886
に行き着き、そこから El Capitan を入手してインストールしました。


やれやれ。面倒だったけれど、一応は正式ルートでダウングレード出来ました。 一連の仕組みは、 Windows とは前提となる状況が違うので比較できるものではないけれど、 良く出来ていると思います。


次は Xcode、普通に App Store で検索して出てくるのは Xcode 10.

「(Xcode) アップデート, インストール」
http://nalab.mind.meiji.ac.jp/~mk/labo/text/upgrading-my-env/node11.html
でも使った
https://developer.apple.com/download/more/
から Xcode 8.3.3 (Xcode8.3.3.xip) をダウンロードしました。

あ、El Capitan じゃダメ、と表示される。

あれれ? 他に、唯一残っていた El Capitan マシンで走っている Xcode のバージョン を確認したら、8.2.1 だった。 これが El Capitan で使える最新版なのかな?


ところで色々情報収集してみて分かったのだけれど、 1つの Mac で複数のバージョンの Xcode を併用出来るのですね。 MacPorts の方で利用するバージョンを指定できるならば、 何か活用できるかもしれない。


まとめ。

出荷時に Lion (10.7) がインストールされていて、 現在は High Sierra (10.13) がインストールされている Mac の OSを、 El Capitan (10.11) にダウングレードし、 それに見合った Xcode をインストールするには

  1. 電源を入れて shift+option+command+R として、 インターネットリカバリーする。これで Lion に戻る。
  2. 次のページから El Capitan にアップグレードする。
    「OS X El Capitan にアップグレードする方法」
    https://support.apple.com/ja-jp/HT206886
  3. 次のサイトから Xcode_8.2.1.xip を入手してインストールする。
    https://developer.apple.com/download/more/

つまり二歩下がるために六歩下がって、四歩進んだ、ことになります。

桂田 祐史
2020-04-05