iTerm2のプロファイル機能を使って、zshのアーキテクチャー(arm64とx86_64)を簡単に選択できるようにする方法

こんにちはー、ニアです。

今回は、macOSのiTerm2のプロファイル機能を使って、zshのアーキテクチャー(「arm64(Apple Siliconネイティブ)」と「x86_64(Rossetaを利用)」)を簡単に選択できるようにする方法を紹介します。

特にApple SiliconのMacでは便利ですよ!

TL;DR

  1. iTerm2のプロファイルを2つ作成します。
  2. iTerm2のセッション開始のコマンドを、以下のように設定します。
    • arm64用のプロファイルでは「/bin/zsh
    • x86_64用のプロファイルでは「arch –x86_64 /bin/zsh

※あらかじめ、Rosettaをインストールしておきます。
※iTerm2の「Rosettaを使用して開く」のチェックボックスをオフにします。

1. zshをarm64とx86_64で使い分けたい!

Apple SiliconのMacでiTerm2などのターミナルを使うと、zshはarm64で動作します。
基本的にはarm64のzshで実行して大丈夫なのですが、一部のミドルウェア(Node.js 12や14など)を利用する時は、x86_64のzshから実行する必要があります。

これが複数プロジェクトを扱うとなると、プロジェクトによってzshをarm64とx86_64で使い分けたいというシチュエーションが出てくるでしょう。

Nia-TN-SDfs-normal2.png
例えば、案件ではNode.js 12を使っていて、社内勉強会ではNode.js 16を使っているという感じ。

1.1. 「Rosettaを使用して開く」のチェックボックスのオン・オフでは煩雑

iTerm2.appの情報ダイアログにある、「Rosettaを使用して開く」のチェックボックスのオン・オフで、zshのアーキテクチャーを切り替えることができます。

オン: x86_64、オフ: arm64 となります

しかし、アーキテクチャーを切り替えるのにいちいちアプリの情報ポップアップを開くのはとても煩雑・・・。

そこでiTerm2のプロファイル機能の出番です。プロファイル毎にセッション開始のコマンドを設定できるので、それを利用していきます。

2. iTerm2のプロファイル機能で使い分けてみよう

あらかじめ、以下の2点を済ませておきます。

  • Rosettaをインストールしておきます。
  • iTerm2の「Rosettaを使用して開く」のチェックボックスをオフにします。

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を起動することができるようになります。

Nia-TN-SDfs-wink.png
複数のプロジェクトを扱うことになっても、
これで上手に使い分けていきましょ!

(END)

この記事をシェアする
Chronoir.netのRSSフィードを購読する