ChromiumでFlutter Web開発環境構築
Flutter WebアプリケーションをChromiumでデバッグ実行できるように設定します。通常のChromeではデバッグ実行に制限があるため、Chromiumを使用します。
Chromiumのインストール
Section titled “Chromiumのインストール”brew install chromiummacOSのセキュリティ設定
Section titled “macOSのセキュリティ設定”アプリケーション起動エラーの対処
Section titled “アプリケーション起動エラーの対処”インストール後、Chromiumを起動すると以下のエラーが表示される場合があります:
“Chromium.app”は壊れているため開けません。ゴミ箱に入れる必要があります。
これは拡張属性が原因なので、以下のコマンドで解決できます:
xattr -rc /Applications/Chromium.app環境変数の設定
Section titled “環境変数の設定”.zshrcに以下を追加:
# Chromium設定export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=trueexport PUPPETEER_EXECUTABLE_PATH=`which chromium`export CHROME_EXECUTABLE=/opt/homebrew/bin/chromium
# Google API設定(オプション)export GOOGLE_API_KEY=YOUR_API_KEYexport GOOGLE_DEFAULT_CLIENT_ID=YOUR_CLIENT_IDexport GOOGLE_DEFAULT_CLIENT_SECRET=YOUR_CLIENT_SECRET設定を反映:
source ~/.zshrcVSCode設定
Section titled “VSCode設定”VSCodeでFlutter開発時にChromiumを使用できるようにします。
.vscode/settings.jsonまたは個人設定に追加:
{ "dart.env": { "CHROME_EXECUTABLE": "/opt/homebrew/bin/chromium" }}この設定により、VSCodeのデバイスリストにChromeが表示されます。
Flutter Webアプリの実行
Section titled “Flutter Webアプリの実行”デバッグ実行
Section titled “デバッグ実行”# Chromiumでデバッグ実行flutter run -d chrome
# ポートを指定して実行flutter run -d chrome --web-port 3000VSCodeからの実行
Section titled “VSCodeからの実行”- VSCodeでFlutterプロジェクトを開く
- 実行とデバッグパネルでデバイスとして「Chrome」を選択
- F5キーまたは実行ボタンでデバッグ開始
Google APIキー欠落メッセージの解消(オプション)
Section titled “Google APIキー欠落メッセージの解消(オプション)”Chromiumを起動すると「Google APIキーが欠落しています」というメッセージが表示される場合があります。
対処方法1:Chrome flagsの設定
Section titled “対処方法1:Chrome flagsの設定”Chromiumでchrome://flags/にアクセスし、以下のフラグを有効化:
enable-experimental-webassembly-stack-switchingenable-webassembly-garbage-collection
対処方法2:APIキーの取得と設定
Section titled “対処方法2:APIキーの取得と設定”Google Cloud ConsoleでAPIキーを作成し、環境変数に設定することで解消できます。
トラブルシューティング
Section titled “トラブルシューティング”Chromiumが見つからない場合
Section titled “Chromiumが見つからない場合”# Chromiumのパスを確認which chromium
# パスが異なる場合は環境変数を調整export CHROME_EXECUTABLE=/path/to/chromiumM1/M2 Macの場合
Section titled “M1/M2 Macの場合”Apple Siliconの場合、パスが異なることがあります:
# M1/M2 Macexport CHROME_EXECUTABLE=/opt/homebrew/bin/chromium
# Intel Macexport CHROME_EXECUTABLE=/usr/local/bin/chromiumFlutter doctorでChromeが認識されない場合
Section titled “Flutter doctorでChromeが認識されない場合”# Flutter設定をリセットflutter config --clear-features
# Chromeのパスを明示的に設定flutter config --chrome-executable=/opt/homebrew/bin/chromium開発のベストプラクティス
Section titled “開発のベストプラクティス”- ホットリロード: Chromiumでもホットリロードが使用可能
- DevTools: Flutter DevToolsを使用してパフォーマンス分析が可能
- レスポンシブデザイン: Chromiumの開発者ツールでデバイスエミュレーションを活用