Flutter Windowsでシンボリックリンクサポートエラーの解決方法
問題
Flutterでパッケージをインストールしようとすると、以下のエラーが発生します:
Building with plugins requires symlink support.
Please enable Developer Mode in your system settings. Run
start ms-settings:developers
to open settings.
exit code 1
このエラーは、Windowsシステムでシンボリックリンクの作成権限がない場合に発生します。特にFlutter 3.0以降でWindowsプラットフォームを対象に開発している場合によく見られます。
原因
Flutterのプラグインはビルドプロセス中にシンボリックリンクを作成する必要があります。Windowsではこの機能がデフォルトで無効になっており、開発者モードを有効にする必要があります。
注意
このエラーはWindowsデスクトップアプリケーションを開発している場合にのみ発生します。AndroidやiOSのみを対象としている場合は、ターゲットデバイスを変更することで回避できます。
解決方法
方法1: 開発者モードを有効にする(推奨)
最も一般的で安全な解決方法です。
設定を開く:
cmdstart ms-settings:developers
開発者向け設定に移動:
- 「プライバシーとセキュリティ」→「開発者向け」
- またはWindowsの検索で「開発者設定」と検索
開発者モードを有効化:
- 「開発者モード」オプションをオンにする
- 「任意のソースからのアプリのインストール(ルーズ ファイルを含む)」を選択
方法2: 管理者権限で実行
開発者モードを有効にしたくない場合の代替手段:
- コマンドプロンプトまたはPowerShellを管理者として実行
- 以下のコマンドを実行:cmd
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
注意
レジストリ編集はシステムに影響を与える可能性があります。十分な知識がある場合のみ実行してください。
方法3: ターゲットデバイスの変更
Windowsアプリを開発していない場合:
- VS CodeまたはAndroid Studioで実行デバイスを選択
- Windowsマシンの代わりにAndroidエミュレータまたは実機を選択
- 再度パッケージのインストールを試行
トラブルシューティング
開発者モードが有効にならない場合
- Windowsの更新を確認し、最新の状態にする
- 管理者権限でコマンドを実行しているか確認
- システムを再起動してから再度試行
その他の解決策
一部のユーザーは、pubspec.yaml
の依存関係の順序を変更することで解決したと報告しています:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.6
google_fonts: ^6.2.1
dev_dependencies:
flutter_test:
sdk: flutter
まとめ
FlutterのWindows開発では、シンボリックリンクを作成する権限が必要です。開発者モードを有効にすることが最も安全で推奨される解決方法です。Windowsアプリを開発していない場合は、単にターゲットデバイスを変更するだけで問題を回避できます。
ヒント
開発者モードを有効にした後は、Flutterのビルドキャッシュをクリーンアップすると効果的です:
flutter clean
flutter pub get