要するにキャレットはセマンティックバージョニングに従って互換性が維持されるような範囲を指定するということですね。 ^1.1や^1.1.5の場合は、メジャーバージョンが変わらず互換性が維持される間、バージョンがあがります。 バージョン1.0未満のバージョンではマイナーバージョンの変更でも互換性が維持されない可能性があるので、そこはあがりません。 まあ、使ってるパッケージがセマンティックバージョニングにきちんと従っているかどうかはパッケージの作者によりますし、セマンティックバージョニングに従っているというパッケージでもバグで後方互換性が破られる可能性もあるわけですので、あまり信用しすぎないことをお薦めしますが。 ちなみに、その他のバージョン指定方法については、次の記事がわかりやすいです。 composerのバージョン指定方法 | QUARTETCOM TECH BLOG 参考 https://