Skip to content

Flutter Doctor の警告「dart パス解決」を修正する方法

問題

Flutterチームが推奨する環境設定手順では見られない警告がflutter doctorの出力に表示される場合があります。典型的な警告メッセージは以下のような内容です:

WARNING

! Warning: `dart` on your path resolves to
/usr/local/Cellar/dart/2.19.1/libexec/bin/dart, which is not inside your
current Flutter SDK checkout at /Users/puneet/development/flutter.
Consider adding /Users/puneet/development/flutter/bin to the front of your path.

これが発生する主な原因は以下のいずれかです:

  1. Dart SDKをFlutterとは別にインストールした(例:brew install dart
  2. PATH環境変数にFlutter SDKのbinディレクトリが正しく登録されていない
  3. macOSのファイルパスで大文字・小文字が一致していない(例:/users/ vs /Users/

この警告を放置すると、Flutter関連ツールの挙動が不安定になる可能性があります。


解決策

🚫 推奨解法: Dart SDKをアンインストールする(基本対処)

Flutter SDKにはDartが同梱されているため、独立したDartインストールは不要です。以下の手順で削除します:

ターミナルで実行

bash
# Dartをアンインストール
brew uninstall dart dart-sdk

その後、ターミナルを再起動して確認:

bash
flutter doctor -v

メリット:

  • 95%以上のケースで警告が即時解消
  • 環境設定がシンプル化される
  • バージョン競合のリスク低減

⚙️ 代替解法: PATH変数を修正

Dartアンインストールでは解決しない場合(例:複数バージョンのFlutterを使用中)、PATH変数を直接修正します:

ステップ1: 現在のPATHを確認

bash
which dart   # dart実行パスを確認
which flutter # flutter実行パスを確認

ステップ2: .zshrcの編集

bash
# .zshrcファイルを開く
nano ~/.zshrc

ステップ3: PATHを正しい形式で記述

警告メッセージで示されたパスを大文字小文字を厳密に一致させて記述:

bash
# ❌ 間違った例(flutter/binが後ろ)
export PATH=$PATH:$HOME/Development/flutter/bin

# ✅ 正しい例(flutter/binを先頭に配置)
export PATH="$HOME/development/flutter/bin:$PATH"

重要

  • ディレクトリ名の大文字・小文字は完全一致させる(例:/Users/users
  • FlutterのbinディレクトリをPATHの先頭に配置する

ステップ4: 変更を反映

bash
# 設定再読み込み
source ~/.zshrc
# ターミナル再起動後に確認
flutter doctor

🔍 その他の確認ポイント

Case 1: ディレクトリ名の大文字不一致

bash
# whichコマンドで取得したパス:
  /users/name/...   # ← 小文字

# 実際のディレクトリ構造:
  /Users/name/...   # ← 大文字

対策:.zshrc内のパス表記を実際のディレクトリ名に合わせて修正

Case 2: Flutterバージョンマネージャー使用中

fvm利用時はPATH設定が異なります:

bash
dart pub global activate fvm
fvm use stable --force

Case 3: Windows環境特有の注意

独立したDart SDKインストールがある場合:

  1. C:\src\dart-sdk\ディレクトリを削除
  2. システム環境変数からDart関連パスを削除

エラー解消の仕組み

解決策が有効な理由を技術的に解説:

  • 根本原因: which dartコマンドがflutter/bin/dart以外のパスを指す
  • brew uninstallの効果: 外部Dartバイナリを削除→システムがFlutter内蔵のdartのみ認識
  • PATH修正の原理: パス検索順序を変更し、Flutter SDK内のbinを最優先に指定

::: success ベストプラクティス 複数のFlutterバージョン管理が必要なプロジェクト以外では、Flutter内蔵Dartのみ使用する構成が最も安定します。

:::

ℹ️ 本記事は2023-2024年時点のFlutter最新安定版(3.x~)を基準に作成しています。