📑
pubspec.yamlの^1.0.3の^って何?
pubspec.yamlでパッケージを指定する時に
http: ^0.13.3
のように^が使われていますがコレは、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