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つは意外とごっちゃになったりするので、しっかりと把握して使い分けていきたいですね。

この記事を書いた人

根岸 聖司

部長、システムエンジニア