uiuifree.com

- サイト制作のノウハウと最適化を目指して-

2020.6.26composer requireコマンドでバージョン指定してインストール

composer requireコマンドでバージョン指定してインストール

開発環境でcomposerのパッケージをインストールするときにcomposer.jsonに追記してインストールする方法もありますが今回はcomposer requireを使ってインストールする方法を紹介します。

パッケージのインストール方法

composer require {パッケージ}

インストール例
composer require nesbot/carbon

インストールが完了するとcomposer.jsonにパッケージバージョンとvendorフォルダにファイル追加されてることが確認できます。

パッケージのバージョン指定してインストール

composer require {パッケージ}:{バージョン}

インストール例
composer require vlucas/phpdotenv:4.*

パッケージのバージョンについて

composerの多くはセマンティックバージョニングのルールに乗っ取り運用されています。

パブリックなAPIを宣言したら、それを変更する際にはルールに従ってバージョン番号を上げなければなりません。つまり、X.Y.Z(メジャー.マイナー.パッチ)のバージョン形式を遵守しなければなりません。APIに影響を及ぼさないバグ修正はパッチバージョンを、後方互換性を保ちつつAPIを変更・追加した場合はマイナーバージョンを、後方互換性のないAPIの変更はメジャーバージョンを上げます。

要するに2.3.1 とバージョンが付いていた場合、2(メジャー).3(マイナー).1(パッチ)と分けられます。

  • メジャー APIの変更に互換性のないアップデート
  • マイナー 後方互換性があり機能性を追加したアップデート
  • パッチ 後方互換性を伴うバグ修正をしたアップデート

というルールになっていますので一括でアップデートするときには気をつけてください。

バージョン指定の方法

指定 対象
3.0.0 3.0.0 アップデートしない
3.0.* 3.0.0以上、3.1.0未満 パッチ
3.* 3.0.0以上、4.0.0未満 マイナー
^3.0 3.0.0以上、3.1.0未満 パッチ
^3.0.5 3.0.5以上、3.1.0未満 パッチ
~3.0 3.0.0以上、4.0.0未満 マイナー
~3.0.5 3.0.5以上、4.0.0未満 マイナー

パッケージはpackagistで公開

ちなみにcomposerでインストールできるパッケージはpackagistに公開されています。
多くはGithubと連携されコードも公開されているので、バージョンアップして何が変わったんだろう?と気になった時は覗いてみるのもいいですね。

composer本体のバージョン指定はcomposerのバージョン2.0にアップデートで紹介してます。

目次
PROFILE

このサイトを運営してるuiuifreeです。
渋谷のベンチャー企業で2年ほど新規事業を担当した後にフリーランスエンジニアにキャリア転換。
求人サイトの開発が多くエンジニア/看護師/保育士などの分野でサイトを運営しています。

アウトプット中の技術

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)