Flutter SDKへのPATH記述:.zshrcにした方が良い

投稿者: | 2025年1月12日

macOSにFlutterを設定する時の注意点

FlutterをApple Siliconのmacにインストールする際の注意を以前あげた。今回は環境設定に関する注意点である。

SDKへのPATH

公式文書のInstall the Flutter SDKによるとSDKをインストールした場所を~/.zshenv`に書くように指示されている。以下は公式文書の日本語訳だ。

FlutterをあなたのPATH

ターミナルで Flutter コマンドを実行するには、PATH環境変数に Flutter を追加します。このガイドでは、Mac が最新のデフォルト シェル を実行していることを前提としています。Zshは環境変数に ファイルzshを使用します。.zshenv

  1. お好みのテキスト エディターを起動します。

  2. ~/.zshenv存在する場合は、テキスト エディターでZsh 環境変数ファイルを開きます。存在しない場合は、作成します~/.zshenv

  3. 次の行をコピーして、ファイルの最後に貼り付けます~/.zshenv

    export PATH=$HOME/development/flutter/bin:$PATH
    

    コンテンツコピー

  4. ファイルを保存します~/.zshenv

  5. この変更を適用するには、開いているすべてのターミナル セッションを再起動します。

引用はここまで。

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に記載した方が良いだろう。

コメントを残す