📑

pubspec.yamlの^1.0.3の^って何?

2022/01/21に公開

pubspec.yamlでパッケージを指定する時に

http: ^0.13.3

のように^が使われていますがコレは、Caret syntaxといいます。

Caret syntax

Caret syntaxは「指定バージョンからの破壊的変更が無いバージョン」という指定になります。出来るだけ新しいバージョンが良いけど、動かなくなるのは困るという事です。

「^1.2.3」と指定した場合は、'>=1.2.3 <2.0.0'。
「^0.1.2」と指定した場合は、'>=0.1.2 <0.2.0'。

の範囲を表します。バージョンが1.0.0以上の場合は、メジャーバーション(x.0.0)が同じ範囲、1.0.0未満の場合はマイナーバージョン(0.x.0)が同じ範囲です。

dartのバージョンニングに関してはsemantic-versionsが参考になります(一般的なバージョニングルールと同じ感じです)。

Discussion