composerコマンドのまとめ
composer関連でよく混乱することが多いので、まとめます。
composerとは
PHPのパッケージ管理システム(LinuxのYUMやAPTみたいなもの)のことでリポジトリは「Packagist」という。
composerのインストール方法
cd 任意のディレクトリ curl -sS https://getcomposer.org/installer | php
これで上記のディレクトリにcomposer.pharファイルがDLされる。上記ディレクトリまでのパス指定でcomposerが実行できるようになる。
パスを通したければ、上記ディレクトリまでのパスを通すか、すでにパスの通っている/usr/local/binディレクトリに移動するかする。
mv composer.phar /usr/local/bin/composer
composerコマンド
composerコマンドでプロジェクトを作成する。
自分で新規にプロジェクトを作成するときなどに使える。
composer create-project ベンダ/パッケージ --prefer-dist ディレクトリ
例:LaravelプロジェクトSAMPLEを作成する。
composer create-project laravel/laravel --prefer-dist SAMPLE
composerコマンドでライブラリをインストールする。
複数開発時などgit cloneで別メンバが作ったプログラムソースとcomposer.lockを入手したときに使う。
composer install
composer installは「composer.lock」がある場合は「composer.lock」に書かれているバージョンのライブラリをインストールする。
「composer.lock」がなく「composer.json」しかない場合は「composer.json」に書かれているバージョンのライブラリをインストールする。
composerコマンドでインストールしたいライブラリやそのバージョンを変更する
まず「composer.json」ファイルを以下のrequireを使うなり手動なりで変更してから使う。
composer update
composer updateは「composer.json」に書かれているバージョンのライブラリをインストールし、
「composer.json」の内容を「composer.lock」に反映する。
composer.jsonを更新する
手動で更新してもよいのですが、このコマンドを使った方が楽。
composer require ベンダ名/パッケージ名 バージョン
オプション「–dev」を付けると開発環境用。
composer自体のアップデート
composer self-update
composerによる本番と開発環境の区別
例えばPHPUnitなど、開発環境だけで使いたいライブラリは開発環境にだけインストールすればよい。
そのようなときには以下のcomposer.jsonの「require-dev」の方に記載をする。
~省略~
“require”: {
}
“require-dev”: {
}
~省略~
そして、「composer update –dev」で開発環境用
「composer update –no-dev」で本番環境用のupdateを行います。
以上となります。
他にも色々サブコマンドがあると思いますが、自分でよく使うものをまとめておきました。