Flutterのpubspec.yamlの依存関係のバージョン番号の前にあるキャレット記号(^)は何でしょうか?
質問
で
pubspec.yaml
ファイルにはキャレット(
^
) があります。
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
english_words: ^3.1.5
その目的は何ですか?どのような意味があるのでしょうか?
注意事項
- を覗いてみると yaml ドキュメント を見ましたが、意味のあるものは見当たりませんでした。
- 関連する DartでCaret記号は何をするのですか? (ただし、ここではXOR演算子ではありません)
- 関連する Flutterでは、Dependenciesはバージョン番号を指定しなければならないのですか? (回答は正しい方向を示したが、質問は違うことを尋ねている)
どのように解決するのですか?
キャレット記号(
^
) は
パブの依存関係
で、バージョン番号の範囲が許可されていることを示すために使われます。具体的には、指定されたバージョンから、次の
壊れない
までの任意のバージョンが許可されます。
-
では
^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
(のように)。
0
の
0.1.2
のように) API が不安定で、小さなバージョン番号の変更でさえも、その意味があります。
1
の
0.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'
ありがとうございました ギュンター・ツェクバウアー さん、私の誤りを指摘していただきありがとうございました。
こちらもご覧ください
関連
-
[解決済み] flutterで空のビューを表示するには?
-
[解決済み] Flutter StreamBuilderとFutureBuilderの比較
-
[解決済み] Flutter: タッチスクリーンでのスクロールを無効にするListView
-
[解決済み] フラッターのライフサイクル
-
[解決済み] FlutterのshrinkWrapプロパティは何をするのですか?
-
[解決済み] コンテナウィジェットが親を縦に埋めるようにする
-
[解決済み] Row FlutterでElement間のスペースを設定する
-
[解決済み] Flutter Layout Row / Column - 幅を共有し、高さを拡張する
-
[解決済み] DartのList.forEach()でAsync/awaitする方法
-
[解決済み] AnimationController 名前付きパラメータ 'vsync' が定義されていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TextFieldの高さと幅を変更するには?
-
[解決済み] Navigatorを含まないコンテキストで要求されたNavigator操作
-
[解決済み] Flutterで次のTextFieldにフォーカスを移すには?
-
[解決済み] CircularProgressIndicatorにサイズを設定するには?
-
[解決済み] Flutter: タッチスクリーンでのスクロールを無効にするListView
-
[解決済み] FlutterでSafeAreaを使用する
-
[解決済み] flutterのtextfieldでカーソルの位置を値の最後に設定するには?
-
[解決済み] コンテナウィジェットが親を縦に埋めるようにする
-
[解決済み] Row FlutterでElement間のスペースを設定する
-
[解決済み] FlutterのScaffold AppBarからドロップシャドウを削除する?