macOSにFlutterを設定する時の注意点
FlutterをApple Siliconのmacにインストールする際の注意を以前あげた。今回は環境設定に関する注意点である。
SDKへのPATH
公式文書のInstall the Flutter SDKによるとSDKをインストールした場所を~/.zshenv`に書くように指示されている。以下は公式文書の日本語訳だ。
FlutterをあなたのPATH
ターミナルで Flutter コマンドを実行するには、PATH
環境変数に Flutter を追加します。このガイドでは、Mac が最新のデフォルト シェル を実行していることを前提としています。Zshは環境変数に ファイルzsh
を使用します。.zshenv
- お好みのテキスト エディターを起動します。
~/.zshenv
存在する場合は、テキスト エディターでZsh 環境変数ファイルを開きます。存在しない場合は、作成します~/.zshenv
。-
次の行をコピーして、ファイルの最後に貼り付けます
~/.zshenv
。export PATH=$HOME/development/flutter/bin:$PATH
コンテンツコピー
-
ファイルを保存します
~/.zshenv
。 -
この変更を適用するには、開いているすべてのターミナル セッションを再起動します。
引用はここまで。
Rubyその他のPATHを~/.zshrc
に記載することが多い
Homebrewなど、多くのライブラリではPATHを~/.zshrc
に記載するよう指示される。Flutterのみ~/.zshrc
と言うのは気持ちが悪い。
~/.zshrc
と~/.zshenv
の違い
~/.zshenv
は ~/.zshrc
よりも先に読み込まれるため、~/.zshenv
に設定が記述されていると、優先的に適用される場合がある。
~/.zshenv
の役割と問題点
~/.zshenv
はすべての Zsh シェルで読み込まれる\
ログインシェルや非ログインシェル問わず適用されるため、環境変数の設定がグローバルに影響する。- 意図しない動作を引き起こす可能性がある\
他の設定ファイル(例:~/.zshrc
や~/.zprofile
)と競合し、重複や矛盾が生じる場合があある。
対処方針
以下のように整理しておくと将来的にもトラブルを防ぎやすくなる。
1. ~/.zshenv
を最小限にする
~/.zshenv
はログインや非ログインを問わずすべてのシェルで読み込まれるため、必要最小限の設定だけを残し、特定の用途(開発環境用の PATH 設定など)は ~/.zshrc
に移動するのが良い。
例えば、~/.zshenv
を以下のように整理:
# ~/.zshenv
# Keep this file minimal. Only essential global variables should go here.
export LANG="ja_JP.UTF-8"
2. ~/.zshrc
に PATH を統一管理
Flutter や Ruby などの環境変数設定は、通常シェルで使用するため、~/.zshrc
にまとめて管理する。
このように両者の違いを認識した上で、役割分担することが大切である。Flutter設定時には公式文書とは違い、PATHを~/.zshrc
に記載した方が良いだろう。