1. ホーム
  2. flutter

Flutterのpubspec.yamlの依存関係のバージョン番号の前にあるキャレット記号(^)は何でしょうか?

2023-09-02 03:05:34

質問

pubspec.yaml ファイルにはキャレット( ^ ) があります。

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  english_words: ^3.1.5

その目的は何ですか?どのような意味があるのでしょうか?

注意事項

どのように解決するのですか?

キャレット記号( ^ ) は パブの依存関係 で、バージョン番号の範囲が許可されていることを示すために使われます。具体的には、指定されたバージョンから、次の 壊れない までの任意のバージョンが許可されます。

  • では ^3.1.5 と同じです。 '>=3.1.5 <4.0.0'
  • また ^1.2.3 と同じになります。 '>=1.2.3 <2.0.0'

長い形式の略語です。

^ は、そのアップデートが私のアプリの何かを壊さない限り、Pubからの最新のパッケージを自動的に使用したい、と言っています。

ノート

1.0.0 未満のバージョンに対する明確な説明

元々、私は

  • ^0.1.2 と同じです。 '>=0.1.2 <1.0.0' (間違い!)

しかし、それは間違った理解であり セマンティックバージョニング . メジャーバージョン番号が 0 (のように)。 00.1.2 のように) API が不安定で、小さなバージョン番号の変更でさえも、その意味があります。 10.1.2 を含む)は、ブレークチェンジを示すことができます。

セマンティックバージョン管理 の記事にはこう書かれています。

メジャーバージョン0 (0.y.z) は初期開発のためのものです。いつでも何かが変更される可能性があります。公開されているAPIは安定したものであると考えるべきではありません。

そしてまた

<ブロッククオート

0.y.zの初期開発段階でのリビジョンはどのように扱えばいいのでしょうか? フェーズではどのように対処すべきでしょうか?

最も簡単なのは、最初の開発リリースを0.1.0で開始し、その後のリリースごとにマイナーバージョンを増やしていくことです。 0.1.0 で開始し、その後の各リリースでマイナーバージョンを増加させることです。

よって、以下のように修正された形となります。

  • ^0.1.2 と同じです。 '>=0.1.2 <0.2.0'

ありがとうございました ギュンター・ツェクバウアー さん、私の誤りを指摘していただきありがとうございました。

こちらもご覧ください