こんにちはー、ニアです。
今回は、macOSのiTerm2のプロファイル機能を使って、zshのアーキテクチャー(「arm64(Apple Siliconネイティブ)」と「x86_64(Rossetaを利用)」)を簡単に選択できるようにする方法を紹介します。
特にApple SiliconのMacでは便利ですよ!
TL;DR
- iTerm2のプロファイルを2つ作成します。
- iTerm2のセッション開始のコマンドを、以下のように設定します。
- arm64用のプロファイルでは「/bin/zsh」
- x86_64用のプロファイルでは「arch –x86_64 /bin/zsh」
1. zshをarm64とx86_64で使い分けたい!
Apple SiliconのMacでiTerm2などのターミナルを使うと、zshはarm64で動作します。
基本的にはarm64のzshで実行して大丈夫なのですが、一部のミドルウェア(Node.js 12や14など)を利用する時は、x86_64のzshから実行する必要があります。
これが複数プロジェクトを扱うとなると、プロジェクトによってzshをarm64とx86_64で使い分けたいというシチュエーションが出てくるでしょう。
1.1. 「Rosettaを使用して開く」のチェックボックスのオン・オフでは煩雑
iTerm2.appの情報ダイアログにある、「Rosettaを使用して開く」のチェックボックスのオン・オフで、zshのアーキテクチャーを切り替えることができます。
しかし、アーキテクチャーを切り替えるのにいちいちアプリの情報ポップアップを開くのはとても煩雑・・・。
そこでiTerm2のプロファイル機能の出番です。プロファイル毎にセッション開始のコマンドを設定できるので、それを利用していきます。
2. iTerm2のプロファイル機能で使い分けてみよう
iTerm2のメニューバーから、「iTerm2」→「Preferences」を選択して、設定画面を開きます。
設定画面の「Profiles」タブを選択します。
arm64用とx86_64用の2つのプロファイルを作成します。ここではプロファイル名を「arm64」と「x86_64」と命名しています。
arm64用のプロファイルでは、Commandの欄はzshのパスのままでOKです。
x86_64用のプロファイルでは、Commandの欄に以下のarchコマンドを入力します。
/usr/bin/arch -x86_64 /bin/zsh
以上で設定は完了です。
これでarm64用のプロファイルを選択するとarm64のzshを、x86_64用のプロファイルを選択するとx86_64のzshを起動することができるようになります。
これで上手に使い分けていきましょ!
(END)