0Pricing
Dart Academy · レッスン

バージョン制約と Lockfile

依存関係のバージョンを固定して解決します

「バージョン制約と Lockfile」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

制約が必要な理由

version constraintは、プロジェクトが受け入れるパッケージのリリースをpubに伝えます。修正を取り込みながら、互換性を壊す変更を避けるための仕組みです。🎯

http: ^1.2.0

セマンティックバージョニング

Dartパッケージはsemantic versioning(major.minor.patch)に従います。majorの更新は互換性を壊す変更、minorの更新は機能追加、patchの更新はバグ修正を示します。

version: 2.4.1

Caret制約

caretの^1.2.0は、1.2.0以上2.0.0未満のバージョンを受け入れます。pubが使う、扱いやすいデフォルトです。

http: ^1.2.0

1つのバージョンに固定する

数値だけを書くと、他ではなくそのバージョンをexactly指定することになります。特定のリリースが必要な場合に限り、慎重に使ってください。

http: 1.2.0

範囲制約

比較演算子を使ってrangeを明示できます。下限と上限の両方を細かく制御できます。

http: '>=1.0.0 <2.0.0'

any制約

anyを使うと、すべてのバージョンを受け入れます。将来のメジャーリリースで壊れるおそれがあるため危険です。代わりにcaretを優先してください。

http: any

Lockfileを知る

pubが依存関係を解決すると、選択した正確なバージョンをpubspec.lockに記録します。このファイルによって、実際に全員がインストールするバージョンを固定できます。

再現可能なビルド

Lockfileはreproducibleなビルドを保証します。チームメンバーがpub getを実行しても、予期しないアップグレードではなく、テスト済みのものとまったく同じバージョンが取得されます。

コミットすべきか

アプリではpubspec.lockをバージョン管理にcommitします。再利用可能なパッケージでは、利用者が自分でバージョンを解決できるよう、含めないでください。

Lockfileを更新する

dart pub upgradeを実行すると、pubspec.lockを制約で許可される最新バージョンに更新できます。通常のgetでは既存の固定バージョンが維持されます。

dart pub upgrade

競合を解決する

2つのパッケージが互換性のないバージョンを要求すると、pubはconflictを報告します。その場合は制約を緩和するか、互換性のあるパッケージバージョンを選びます。

クイックチェック

制約^1.2.0では何が許可されますか。

まとめ

これで、caretや範囲などのconstraintsを読み取り、pubspec.lockによって正確なバージョンを固定し、再現可能で競合のないビルドを実現できることを学びました。🎉

よくある質問

「バージョン制約と Lockfile」レッスンは無料ですか?

はい。「バージョン制約と Lockfile」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「バージョン制約と Lockfile」で何を学びますか?

依存関係のバージョンを固定して解決します ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「バージョン制約と Lockfile」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. pubspec.yaml の構成
  2. dart pub による依存関係の追加
  3. Imports、Exports、Libraries
  4. バージョン制約と Lockfile
← Dart Academyに戻る