目次

dart pub downgrade

Downgrade は、pub ツールのコマンドの1つです。

$ dart pub downgrade [--[no-]offline] [-n|--dry-run] [dependencies...]

追加の引数なしで、dart pub downgrade は、現在の作業ディレクトリにある pubspec.yaml ファイルにリストされているすべての依存関係と、それらの推移的な依存関係の最低バージョンを取得します。例:

$ dart pub downgrade
Resolving dependencies... (1.2s)
+ barback 0.13.0
+ collection 0.9.1
+ path 1.2.0
+ source_maps 0.9.0
+ source_span 1.0.0
+ stack_trace 0.9.1
Changed 6 dependencies!

dart pub downgrade コマンドはロックファイルを作成します。すでに存在する場合、pubはそのファイルを無視し、すべての依存関係の最低バージョンを使用して、最初から新しいファイルを生成します。

パッケージの解決とシステムパッケージキャッシュの詳細については、dart pub get ドキュメントを参照してください。

特定の依存関係のダウングレード

#

dart pub downgrade に、特定の依存関係のみを最低バージョンにダウングレードし、残りの依存関係はできるだけ変更しないように指示することが可能です。例:

$ dart pub downgrade test
Resolving dependencies...
  barback 0.15.2+2
  bot 0.27.0+2
  browser 0.10.0+2
  chrome 0.6.5
  collection 1.1.0
  path 1.3.0
  pool 1.0.1
  source_span 1.0.2
< stack_trace 0.9.2 (was 1.1.1)
  stagexl 0.10.2
< test 0.10.0 (was 0.11.4)
These packages are no longer being depended on:
- matcher 0.11.3
Changed 3 dependencies!

特定の依存関係をダウングレードする場合、pubは新しい依存関係の制約に適合する推移的な依存関係の最高バージョンを見つけようとします。通常、その結果、推移的な依存関係もダウングレードされます。

新しい依存関係の取得

#

dart pub downgrade を実行する前に、依存関係がpubspecに追加された場合、新しい依存関係と、その推移的な依存関係が取得されます。これは dart pub get と同じ動作をします。

依存関係の削除

#

dart pub downgrade を実行する前に、依存関係がpubspecから削除された場合、その依存関係はインポートできなくなります。削除された依存関係の推移的な依存関係も、残っている直接の依存関係がそれらに依存していない限り削除されます。これは dart pub get と同じ動作です。

オフラインでのダウングレード

#

ネットワークアクセスがない場合でも、dart pub downgrade を実行できます。pubはシステム上のすべてのパッケージで共有される中央キャッシュにパッケージをダウンロードするため、ネットワークを使用せずに、以前にダウンロードしたパッケージを見つけることができる場合があります。

ただし、デフォルトでは、dart pub downgrade はホストされている依存関係がある場合、オンラインに接続しようとします。pubにそれを行わせたくない場合は、--offline フラグを渡します。オフラインモードでは、pubはローカルパッケージキャッシュのみを検索し、すでに利用可能なものからパッケージで機能するバージョンのセットを見つけようとします。

オプション

#

すべてのpubコマンドに適用されるオプションについては、グローバルオプションを参照してください。

--[no-]offline

#

デフォルトでは、pubはネットワークに接続してホストされたパッケージを取得します (--no-offline)。代わりにキャッシュされたパッケージを使用するには、--offline を使用します。詳細については、オフラインでの取得を参照してください。

--dry-run または -n

#

変更される依存関係をレポートしますが、実際には何も変更しません。

--tighten

#

pubspec.yaml の依存関係の下限を解決されたバージョンと一致するように更新し、変更された制約のリストを返します。特定の依存関係に適用できます。