メインコンテンツにスキップ

dart pub downgrade

Downgrade は、pub tool のコマンドの 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 の依存関係の下限を解決されたバージョンに合わせて更新し、変更された制約のリストを返します。特定の依存関係 に適用できます。

ワークスペース内

#

Pub workspace では、dart pub downgrade はワークスペース全体ですべての依存関係をダウングレードします。