3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Flutter】SDKのバージョンコンフリクトを解決する

Last updated at Posted at 2022-11-24

flutterのSDKのバージョン設定する際、依存関係で悩んでいる方多いと思うので、本記事で解決策をまとめてみます。

anyで解決する

下記の例でflutter pub getすると、バージョンコンフリクトが発生すると思います。

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  url_launcher: ^6.1.7

バージョンコンフリクト

Because demo depends on url_launcher >=6.1.3 which requires Flutter SDK version >=2.8.0, version solving failed.
pub get failed (1; Because demo depends on url_launcher >=6.1.3 which requires Flutter SDK version >=2.8.0, version solving failed.)
exit code 1

解決策:

  • anyで問題ないバージョンを探し出す。
environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  url_launcher: any
  • pubspec.lockファイルから問題なかったバージョンを確認する
  url_launcher:
    dependency: "direct main"
    description:
      name: url_launcher
      url: "https://pub.dartlang.org"
    source: hosted
    version: "6.1.2"
  • yamlファイルのバージョンを修正する
environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  url_launcher: 6.1.2

dependency_overrides

下記はパッケージの取得エラーです。
原因はもう1つのパッケージに同じsdkのfl_chartが^0.36.1を使っていたからです。
当然、その解決策は今使っているパッケージのバージョンを同じバージョンの^0.36.1にすれば解決できますが、もし2つのSDKで違うバージョンのSDKが存在する、または上記anyでも解決できない場合はdependency_overridesで解決できます。

Because some_package depends on another_package from path which depends on fl_chart ^0.36.1, fl_chart ^0.36.1 is required.
So, because some_package depends on fl_chart 0.20.1, version solving failed.
pub get failed (1; So, because some_package depends on fl_chart 0.20.1, version solving failed.)
exit code 1

解決策

dependencies:
  flutter:
    sdk: flutter
  fl_chart: 0.20.1

dependency_overrides:
  fl_chart: 0.20.1

注意

この方法でバージョン依存関係コンフリクト解決できますが、SDK想定外の動作発生することがあるため、慎重に使った方が良いと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?