Flutterコマンドを深掘りします!3回目
目次
flutter pub – パッケージ管理
外部ライブラリを管理するコマンドです!
基本コマンド
パッケージ追加
# パッケージを追加
flutter pub add http
# 複数同時に追加
flutter pub add http shared_preferences image_picker
# 開発用パッケージを追加
flutter pub add --dev flutter_test
🔧 何が起こる?
pubspec.yaml に自動追記
パッケージをダウンロード
pubspec.lock を更新
🔧 パッケージ削除
# パッケージを削除
flutter pub remove http
# pubspec.yamlから削除されて、キャッシュもクリア
📱パッケージ取得
# pubspec.yamlに基づいてパッケージ取得
flutter pub get
# いつ使う?
# - プロジェクトをcloneした直後
# - pubspec.yamlを手動編集した後
# - 他の人のコードをpullした後
🔄 get と upgrade の違い
flutter pub get
flutter pub get
動作:
- pubspec.lock に記録されたバージョンを取得
- バージョンは変更しない
- 安全・確実
使う場面:
- 初回セットアップ
- 新しいパッケージを追加
- 他の開発者と同じ環境にしたい
flutter pub upgrade
flutter pub upgrade
動作:
- 最新バージョンに更新
- pubspec.lock を更新
- 互換性の範囲内で更新
使う場面:
- パッケージの最新機能を使いたい
- バグ修正版を取り込みたい
- 定期的なメンテナンス
📊 バージョン指定の理解
pubspec.yaml のバージョン指定:
dependencies:
http: ^1.1.0
# ↑ キャレット記法
キャレット記法(^)の意味
http: ^1.1.0
# これは以下を意味する:
# 1.1.0 以上、2.0.0 未満
# つまり:
# ✅ 1.1.0, 1.1.1, 1.2.0, 1.9.9 OK
# ❌ 2.0.0 NG(メジャーバージョンアップは含まない)
その他のバージョン指定
# 正確なバージョン
http: 1.1.0
# 範囲指定
http: '>=1.0.0 <2.0.0'
# 任意のバージョン
http: any
# 最新版(非推奨)
http: ^0.0.0
🔍 パッケージ情報の確認
# 古いパッケージを確認
flutter pub outdated
# 出力例:
# Package Name Current Upgradable Latest
# http 1.1.0 1.2.0 2.0.0
# image_picker 1.0.0 1.0.5 1.0.5
🧹 キャッシュ管理
# パッケージキャッシュをクリア
flutter pub cache repair
# すべてのパッケージを再ダウンロード
flutter pub cache clean
💡 実際の使用例
新しいパッケージを使いたい
# ① パッケージを追加
flutter pub add image_picker
# ② 自動的にpubspec.yamlに追記される
# dependencies:
# image_picker: ^1.0.5
# ③ コードで使用
import 'package:image_picker/image_picker.dart';
プロジェクトをcloneした直後
# ① プロジェクトに移動
cd concert_manager_app
# ② パッケージ取得
flutter pub get
# ③ 実行
flutter run
パッケージを最新に更新
# ① 古いパッケージを確認
flutter pub outdated
# ② 更新
flutter pub upgrade
# ③ テスト
flutter test
# ④ 問題なければコミット
git add pubspec.lock
git commit -m "パッケージ更新"
