Composerのバージョン指定について
2022.04.30
こんにちは、フジボウルの根岸です。
本日はバージョンの範囲指定のお話です。
Composerで以下のようなバージョン指定を見たことがあるかと思います。
^1.3.2
~2.1
これらは、どういったバージョン範囲を表すかご存知でしょうか?
ちなみに^はキャレット、~はチルダと読みます。
これは以前記載した"「^」何と読む?"の記事でも話題に挙げましたね。
気になる方は、そちらもご覧頂ければと思います。
では最初に、バージョン番号の呼び方について、
1.3.2を例にとって見ていきたいと思います。
バージョン番号は左の数字から
1 → メジャーバージョン
3 → マイナーバージョン
2 → パッチバージョン
と呼ばれています。
これを踏まえた上で本題です。
まず、チルダについてですが、これは指定した一番右の桁のバージョン番号は上げても良いという指定になります。もちろんマイナーバージョンまでの指定の場合は、パッチバージョンも上げられます。
言葉で説明すると分かりづらいの具体例を挙げます。
[例]
~1.2.3 → 1.2.3以上 かつ 1.3.0未満
~1.2 → 1.2.0以上 かつ 2.0.0未満
~0.3 → 0.3.0以上 かつ 1.0.0未満
続きまして、キャレットですが、これはメジャーバージョンは上げないという指定になります。
ただし1.0.0未満の場合はパッチバージョンのみしか上げられません。
こちらも具体例を。
[例]
^1.2.3 → 1.2.3以上 かつ < 2.0.0未満
^1.2 → 1.2.0以上 かつ < 2.0.0未満
^0.3 → 0.3.0以上 かつ < 0.4.0未満
いかがでしたでしょうか、この2つは意外とごっちゃになったりするので、しっかりと把握して使い分けていきたいですね。
--------------------------------------------------
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
エン転職
ITエンジニア◆リモートワーク案件有/残業なし/年間休日128日/誕生日休暇/定着率直近3年100%
社員のゲーム実況チャンネル
$fugaのゲーム実況
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
エン転職
ITエンジニア◆リモートワーク案件有/残業なし/年間休日128日/誕生日休暇/定着率直近3年100%
社員のゲーム実況チャンネル
$fugaのゲーム実況