dart pub upgrade
アップグレード は pubツール のコマンドの1つです。
$ dart pub upgrade [options] [dependencies]
dart pub get
と同様に、dart pub upgrade
は依存関係を取得します。違いは、dart pub upgrade
は既存のロックファイルを無視するため、pubはすべての依存関係の最新バージョンを取得できることです。関連するコマンドはdart pub outdated
で、これを実行して古い依存関係を見つけることができます。
追加の引数がない場合、dart pub upgrade
は、現在の作業ディレクトリのpubspec.yaml
ファイルにリストされているすべての依存関係と、それらの推移的な依存関係の最新バージョンを取得します。例えば
$ dart pub upgrade
Dependencies upgraded!
dart pub upgrade
が依存関係のバージョンをアップグレードすると、dart pub get
がそれらの依存関係の同じバージョンを使用するように、ロックファイルが書き込まれます。アプリケーションパッケージの場合は、ロックファイルをソース管理にチェックインします。これにより、アプリケーションはすべての開発者と本番環境にデプロイされたときに、すべての依存関係のまったく同じバージョンを持つことが保証されます。通常のパッケージの場合は、ロックファイルをチェックインしないでください。パッケージはさまざまな依存関係バージョンで動作することが想定されているためです。
ロックファイルが既に存在する場合、dart pub upgrade
はそれを無視し、すべての依存関係の最新バージョンを使用して、最初から新しいロックファイルを生成します。
パッケージの解決とシステムパッケージキャッシュの詳細については、dart pub get
のドキュメントを参照してください。
特定の依存関係のアップグレード
#残りの依存関係をできる限りそのままにして、特定の依存関係を最新バージョンにアップグレードするようにdart pub upgrade
に指示できます。例えば
$ dart pub upgrade test args
Dependencies upgraded!
通常、他の依存関係はアップグレードされません。ロックファイルにロックされているバージョンにとどまります。ただし、リクエストされたアップグレードがこれらのロックされたバージョンと互換性がない場合、互換性のあるバージョンのセットが見つかるまで、選択的にロックが解除されます。
これは、特定の依存関係をアップグレードしても、デフォルトではその推移的な依存関係はアップグレードされないことを意味します。
特定の依存関係とそのすべての推移的な依存関係を最新バージョンにアップグレードするには、--unlock-transitive
フラグを使用します。
$ dart pub upgrade --unlock-transitive test args
新しい依存関係の取得
#dart pub upgrade
を実行する前にpubspecに依存関係が追加された場合、新しい依存関係とその推移的な依存関係が取得されます。これは、dart pub get
と同じ動作を共有します.
依存関係の削除
#dart pub upgrade
を実行する前にpubspecから依存関係が削除された場合、その依存関係はインポートできなくなります。削除された依存関係の推移的な依存関係も、残りの直接の依存関係がそれらに依存していない限り、削除されます。これは、dart pub get
と同じ動作です。
オフラインでのアップグレード
#ネットワークアクセスがない場合でも、dart pub upgrade
を実行できます。 pubはパッケージをシステム上のすべてのパッケージで共有される中央キャッシュにダウンロードするため、ネットワークを使用せずに以前にダウンロードしたパッケージを見つけることができます。
ただし、デフォルトでは、dart pub upgrade
はホストされている依存関係がある場合にオンラインにしようとします。そのため、pubは依存関係の新しいバージョンを検出できます。 pubにそれをさせたくない場合は、--offline
フラグを渡します。オフラインモードでは、pubはローカルパッケージキャッシュのみを検索し、既に利用可能なものからパッケージで動作するバージョンのセットを見つけようとします。
pubはロックファイルを生成することに注意してください。キャッシュ内の一部の依存関係の唯一のバージョンがたまたま古い場合、オフラインのdart pub upgrade
はアプリをその古いバージョンにロックします。次回オンラインになったときは、おそらくdart pub upgrade
を再度実行して、最新バージョンにアップグレードすることをお勧めします。
オプション
#dart pub upgrade
コマンドは、dart pub get
オプションなどをサポートしています。すべてpubコマンドに適用されるオプションについては、グローバルオプションを参照してください。
--[no-]offline
#デフォルトでは、pubはネットワークに接続してホストされているパッケージを取得します(--no-offline
)。代わりにキャッシュされたパッケージを使用するには、--offline
を使用します。詳細については、オフラインでの取得を参照してください。
--dry-run
または-n
#変更される依存関係を報告しますが、変更は行いません。これは、変更を行う前に更新を分析する場合に便利です。
--[no-]precompile
#デフォルトでは、pubは直接の依存関係の実行可能ファイルをプリコンパイルします(--precompile
)。プリコンパイルを防ぐには、--no-precompile
を使用します。
--major-versions
#dart pub outdated
が解決可能としてリストするパッケージを取得します。 pubspec.yaml
ファイルの上限制約は無視されます。また、pubspec.yaml
を新しい制約で更新します。
アップグレードされる依存関係を確認するには、dart pub upgrade --major-versions --dry-run
を使用できます。
--tighten
#pubspec.yaml
内の依存関係の下限を解決されたバージョンと一致するように更新し、変更された制約のリストを返します。特定の依存関係に適用できます。
--unlock-transitive
#ロックを解除するパッケージのリストと共に使用する場合、最初にそれらのパッケージの依存関係の推移的クロージャ(現在の解決で)が計算され、次にそれらのすべてのパッケージのロックが解除されます。
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。ページの最終更新日:2024-11-06。 ソースを表示 または 問題を報告する.