[解決済み] バージョン要件におけるティルデグレータン(~>)の意味?
質問
の意味は何ですか?
~>
のバージョン要件は何ですか?
hanna-0.1.12 は [haml (~> 2.2.8)] に依存しています。
どのように解決するのですか?
RubyGemsのマニュアルでは、これを 悲観的バージョン制約 .
n部構成のバージョン番号を指定したと仮定すると、例えば
1.3
(2-part) または
3.5.6.2
(4-part)を制約として指定する。そして、制約を満たすためには、以下の条件を満たす必要があります。
を満たすためには、バージョン番号は次の2つの条件を満たす必要があります。
-
バージョン番号の最初のn-1個の部分は、制約条件の最初のn-1個の部分と同じでなければなりません。 の部分と同一でなければなりません。 (例えば
1.x
または3.5.6.x
は一致しますが0.x
または3.5.7.x
don't) と -
バージョン番号の最後の部分は、制約の最後の部分と同じかそれ以上でなければなりません。 制約の最後の部分 (例
1.9999
と3.5.6.2
は一致するが1.2
または3.5.6.1
は使わないでください)。
言い換えると
~x 1 .x <サブ 2 .x <サブ 3 . ... .x <サブ n-2 .x <サブ n-1 .x <サブ n
マッチ
x <サブ 1 .x <サブ 2 .x <サブ 3 . ... .x <サブ n-2 .x <サブ n-1 .y, y >= x n
これがquot;pessimistic"制約と呼ばれる理由と、そのユースケースは次のとおりです。
というのは、単に
> x.y.z
と言う場合、あなたは楽観的です。
これから先、永遠にAPIが変更されることはないと仮定しているからです。これは
はもちろん、かなり大胆な仮定です。しかし、ほとんどのプロジェクトには、以下のようなルールがあります。
を許可しています。
後方互換性を破壊する
,
また、次のような場合にバージョン番号を変更しなければなりません。
する
後方互換性を破壊する
互換性 このようなバージョン番号付けのルールを悲観的な
そのため、自分のコードが常に動作し続けることを保証することができます。
(他のプロジェクトの作者が実際に自分のルールを守っていると仮定して)
ルールに従うと仮定すると、残念ながら常にそうであるとは限りません)。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] RVM (Ruby Version Manager) をシステムから削除する方法
-
[解決済み】Cocoapodsの旧バージョンをダウングレードまたはインストールする方法
-
[解決済み】rubygemsインストール時のSSLエラー、'https://rubygems.org/'からデータを引き出せない。
-
[解決済み] なぜsumはinject(:+)よりもずっと速いのですか?
-
[解決済み] ハッシュの配列をハッシュの値でソートするにはどうしたらいいですか?
-
[解決済み] JsonRequestBehaviorをAllowGetに設定すると、どのような「機密情報」が開示される可能性があるのか?
-
[解決済み] 2つのハッシュを比較するにはどうすればよいですか?
-
[解決済み] Rubyで文字列が正規表現にマッチするかどうかをチェックする最も速い方法?
-
[解決済み] Rubyで配列を一度に初期化するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyのgem依存性でtilde-greater-than (~>)の意味は?重複] [重複] [重複] [重複
-
[解決済み] gem ファイルにおける ~> の意味 [重複].
-
[解決済み] レスキューVSシドキック?[クローズド]
-
[解決済み] Gemfileでrubygemを指定するときの~>と>=の違いは何ですか?
-
[解決済み] JSONファイルへの正しい書式での書き込み方法
-
[解決済み] Rubyの"==="演算子は何をするのですか?重複] [重複
-
[解決済み] rubyのClassとKlassの違いは何ですか?
-
[解決済み] 文字列を DateTime に変換する
-
[解決済み] RVMを使用してRubyのバージョンを変更するには?
-
[解決済み] MacでRubyを1.9.xにアップデートするには?