パッケージの削除方法 – 完全ガイド!

使わなくなったパッケージを、安全に、完全に削除する方法を説明します!

🤔 なぜパッケージを削除するの?
削除する理由:
✅ もう使わない – 別の方法に変更した
✅ ファイルサイズ削減 – アプリを軽くしたい
✅ 依存関係の整理 – シンプルに保つ
✅ セキュリティ – 使わないパッケージは脆弱性のリスク
✅ ビルド時間短縮 – 不要なものを減らす
比喩で言うと: 使わない服を整理するようなもの。クローゼット(アプリ)がスッキリします!

🗑️ 削除の基本手順(3ステップ)

ステップ1️⃣: pubspec.yaml から削除
ステップ2️⃣: import 文を削除
ステップ3️⃣: flutter pub get を実行
これだけです! 😊


実際にやってみましょう!
例: dio パッケージを削除する場合

STEP
pubspec.yaml から削除

1-1. 削除前の状態

dependencies:
  flutter:
    sdk: flutter
  
  provider: ^6.1.0
  http: ^1.1.0
  dio: ^5.4.0          # ← これを削除する
  intl: ^0.19.0

1-2. 行ごと削除

dependencies:
  flutter:
    sdk: flutter
  
  provider: ^6.1.0
  http: ^1.1.0
  # dio: ^5.4.0       # ← コメントアウトでもOK(後で戻せる)
  intl: ^0.19.0

または、完全に削除:

dependencies:
  flutter:
    sdk: flutter
  
  provider: ^6.1.0
  http: ^1.1.0
  intl: ^0.19.0
STEP
import 文を削除

プロジェクト内で dio を使っている場所を探して削除します。
2-1. 検索する
VS Code / Android Studio:

  • Ctrl+Shift+F (Windows) / Cmd+Shift+F (Mac)
  • import ‘package:dio/dio.dart’ で検索

2-2. import と使用箇所を削除

// ❌ 削除前
import 'package:dio/dio.dart';  // ← この行を削除

Future<void> fetchData() async {
  final dio = Dio();  // ← dio を使っているコードも削除
  final response = await dio.get('https://example.com');
}

// ✅ 削除後(httpパッケージに変更した場合)
import 'package:http/http.dart' as http;

Future<void> fetchData() async {
  final response = await http.get(Uri.parse('https://example.com'));
}
STEP
flutter pub get を実行

パッケージを実際にプロジェクトから削除します。

flutter pub get

実行すると:

Running "flutter pub get" in my_app...
Resolving dependencies...
- dio 5.4.0
Changed 1 dependency!

「- dio 5.4.0」 (マイナス記号!)と出たら削除成功! ✅

🧹 完全に削除する方法(キャッシュもクリア)

基本の3ステップでも削除できますが、キャッシュまで完全削除したい場合:

方法
flutter clean
flutter clean
flutter pub get

どうなる?

  • ビルドキャッシュを削除
  • パッケージを再ダウンロード
  • プロジェクトがクリーンな状態に
方法
キャッシュを完全削除
flutter pub cache clean
flutter pub get

何が起こる?

  • 全パッケージのキャッシュを削除
  • すべてのパッケージを再ダウンロード
  • 時間がかかる! (よほどのことがなければ不要)

⚠️ **削除前の注意点チェックリスト

削除する前に確認:

本当に使ってない? – プロジェクト全体を検索
依存パッケージは? – 他のパッケージが使ってないか
Gitでコミット – いつでも戻せるように
テストする – 削除後にアプリが動くか確認

🔍 本当に使われていないか確認する方法

方法1: エディタの検索機能

Ctrl+Shift+F (Windows) / Cmd+Shift+F (Mac)

検索ワード: package:dio

**0件なら安全に削除できる!**

方法2: エラーで確認(荒技!)



1. `pubspec.yaml` からパッケージを削除
2. `flutter pub get` を実行
3. `flutter run` でアプリを起動

エラーが出る? まだ使っている!
エラーが出ない?安全に削除できた!

よくあるエラーと解決策

エラー1: 他のパッケージが依存している

Because package_a depends on dio ^5.0.0 which depends on http_parser ^4.0.0,
package_a requires http_parser ^4.0.0.

原因:削除しようとしたパッケージが、他のパッケージから使われている

解決策:
– そのパッケージは削除できない(依存されている)
– または、依存している側のパッケージも削除する

エラー2: import のエラー

Error: Not found: 'package:dio/dio.dart'

原因: パッケージを削除したのに、コードで import している

解決策:
1. エラーメッセージのファイルを開く
2. `import ‘package:dio/dio.dart’` を削除
3. dio を使っているコードも削除または書き換え

エラー3: メソッドが見つからない

Error: The method 'get' isn't defined for the type 'Dio'.

原因: パッケージ削除後、そのパッケージのメソッドを使っている
解決策:

コード内の dio 関連のメソッドをすべて削除
別のパッケージで書き直す

💡 複数パッケージを一度に削除

# 削除前
dependencies:
  flutter:
    sdk: flutter
  
  provider: ^6.1.0
  http: ^1.1.0
  dio: ^5.4.0          # ← 削除
  shimmer: ^3.0.0      # ← 削除
  lottie: ^3.0.0       # ← 削除
  intl: ^0.19.0

# 削除後
dependencies:
  flutter:
    sdk: flutter
  
  provider: ^6.1.0
  http: ^1.1.0
  intl: ^0.19.0

その後:

flutter pub get

一度に複数削除してもOK! 😊

実践例: dioからhttpに乗り換える

ステップ1: httpを追加(まだdioは削除しない)

dependencies:
  dio: ^5.4.0      # まだ残しておく
  http: ^1.1.0     # 先に追加

httpを追加(まだdioは削除しない)

flutter pub get

ステップ2: コードを書き換える

// 古いコード(dio)
import 'package:dio/dio.dart';

Future<void> fetchData() async {
  final dio = Dio();
  final response = await dio.get('https://example.com/data');
  print(response.data);
}

// 新しいコード(http)
import 'package:http/http.dart' as http;
import 'dart:convert';

Future<void> fetchData() async {
  final response = await http.get(Uri.parse('https://example.com/data'));
  final data = json.decode(response.body);
  print(data);
}

ステップ3: テストする

flutter run

ステップ4: dioを削除

dependencies:
  # dio: ^5.4.0    # ← 削除
  http: ^1.1.0
flutter pub get

ステップ5: import文を削除

// import 'package:dio/dio.dart';  ← 削除
import 'package:http/http.dart' as http;

ステップ6: 最終確認

flutter run

📋 削除のチェックリスト

削除作業の流れ:
✅ Gitコミット – 作業前に保存
✅ 検索 – パッケージが使われていないか確認
✅ pubspec.yaml から削除 – 行ごと削除
✅ import 文削除 – プロジェクト全体から
✅ flutter pub get – 実際に削除
✅ テスト – アプリを起動して確認
✅ Gitコミット – 問題なければコミット更」のこと。

❶ コメントアウトで様子見

すぐに削除せず、まずコメントアウト:

dependencies:
  # dio: ^5.4.0    # 2026/01/10 削除予定 - httpに移行中
  http: ^1.1.0

1週間くらい様子見して、問題なければ完全削除!

❷ 削除リストを作る

# 削除予定パッケージ
# - dio (httpに移行済み)
# - shimmer (使ってない)
# - lottie (アニメーション廃止)

dependencies:
  http: ^1.1.0
  provider: ^6.1.0

計画的に削除!

❸ 定期的に棚卸し

3ヶ月に1回くらい、pubspec.yaml を見直す

  • 使ってないパッケージないか?
  • 似たような機能のパッケージを重複して入れてないか?

削除するか迷ったら?

完全に使ってない✅ 削除!
将来使うかも…⚠️ 必要になったら入れ直せばOK
他のパッケージが依存❌ 削除できない
テスト用だけで使用△ dev_dependencies に移動

削除とアンインストールの違い

削除 = pubspec.yaml から消すだけ でOK
特別な「アンインストールコマンド」はない
flutter pub get で自動的に不要なパッケージは無視される

一言まとめ:
パッケージ削除は pubspec.yaml から削除 → import削除 → flutter pub get の3ステップ! 削除前に検索して、本当に使われていないか確認するのがコツ! 🗑️