🚀 コマンド3 flutter pub (パッケージ管理)

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 "パッケージ更新"


目次