PHP依存管理ツールComposerのコマンドまとめ

PHPプロジェクトではすでに必要不可欠になっているComposerのよく使うコマンドをまとめておきます。
Composerは、PHP向けのソフトウェアおよび必要なライブラリの依存関係を管理するパッケージ管理システムです。そのインストール方法については下記の記事に書いてあります。

composer list

composerのコマンドの一覧を表示します。

$ composer list

composer help

コマンドのヘルプを表示するコマンド。引数で、ヘルプを表示したいコマンド名を指定します。

$ composer help search

composer init

composer.jsonを作成するためのコマンド。

$ composer init

オプション 用途
-name パッケージ名
-description パッケージの説明
-author パッケージの作者名
-homepage パッケージのホームページ
-require 必要なパッケージのバージョン制約。記述方法:foo/bar:1.0.0
-require-dev 開発版パッケージに必要なパッケージのバージョン制約。記述方法は、–requireと同じ
-stablility(-s) minimum-stabilityの値を設定する。

composer install

composer.jsonを読み込んで依存パッケージダウンロードしてvendorディレクトリにインストールします。

$ composer install <VENDER/PACKAGE1> <VENDER/PACKAGE2> ...

composerのパッケージダウンロードには下記二つの方法があります。

  • source:主に開発版をgit等のソースコードリポジトリからダウンロードする。
  • dist:パッケージ化されたリリース版や安定版をダウンロードする。
オプション 用途
–prefer-source バージョン管理システムの情報含めインストール可能な場合、パッケージを「source」からインストールする。
–prefer-dist 開発バージョンでも、パッケージを「dist」からインストールする。
–dry-run パッケージを実際にインストールせずに、シミュレーションで何が起こるかを見ることができる。
–dev 「require-dev」に指定されたパッケージのインストールを有効にする。
–no-scripts composer.jsonで指定されたスクリプトの実行を飛ばす。
–no-custom-installers カスタムインストーラーを無効にする。
–no-progress ダウンロードの進行状況を表示させない。
–optimize-autoloader(-o) vendor/composer/autoload_classmap.phpにPSR-0に従った
PHPファイルのクラスマップを展開してオートローダーを最適化する。

composer update

最新バージョンの依存関係を取得して、composer.lockを更新します。

$ composer update

特定のパッケージのみを更新したい場合は、引数に更新対象パッケージ名を渡す事で指定できます。

$ composer update <VENDER/PACKAGE1> <VENDER/PACKAGE2> ...

指定したパッケージがまだインストールされていない場合は無視され、特に何の処理も行われません。

オプション 用途
–prefer-source
–prefer-dist
–dry-run
–no-scripts
–no-custom-installers
–optimize-autoloader

composer require

composer.jsonのrequireパッケージを追加・更新します。
requireパッケージを追加更新後に、パッケージのインストール、アップデートが行われます。

$ composer require <VENDER/PACKAGE>

引数を指定しないで実行する場合は対話形式による追加となります。

composer search

現在のプロジェクトパッケージリポジトリからパッケージの検索する。通常はpackagistから検索されます。

$ composer search <KEYWORD>

オプション 用途
–only-name(-N) 名前のみ検索対象にする。(descriptionは検索対象外)

composer show

利用出来るパッケージを全て表示します。

$ composer show

特定のパッケージ名を引数に渡す事で、パッケージの詳細を見る事ができます。

$ composer show <VENDER/PACKAGE>

オプション 用途
–installed(-i) インストールされたパッケージの一覧を表示する。
–platform(-p) プラットフォームパッケージのみ表示する。(phpやextensions)
–self(-s) ルートパッケージの情報を表示する。
–dev –installedか–platformと合わせた時、dev-requireパッケージも含んで表示する。

composer dependes

特定のパッケージに依存したパッケージを問い合わせる事ができます。
リストに表示されるリンクタイプ(require、require-dev)を指定できます。

$ composer depends --link-type=require <VENDER/PACKAGE>

オプション 用途
–link-type 指定したリンクタイプを表示する(require、require-dev)複数指定も可能。
デフォルトでは、両方指定。

composer validate

composer.jsonの妥当性をチェックする。
composer.jsonをcomiitする前や、tagをリリースする前に実行するべきであります。

$ composer validate

composer status

ソースからインストールした依存関係のソースを修正する必要がある時、ローカルでの修正したかチェックできます。

$ composer status

composer self-update

composer自体を最新にアップデートします。

$ composer self-update

composer create-project

composerを使って新しいプロジェクトを作る為にcreate-projectを利用できます。
パッケージ名、プロジェクトを作成するディレクトリ、バージョンを引数で指定できます。
バージョンを省略した場合は最新版が利用されます。

$ composer create-project <VENDER/PACKAGE> <DIRECTORY> <VERSION>

オプション 用途
–repository-url packagistの代わりにパッケージの検索に使われるカスタムリポジトリを指定する。
composerリポジトリのURLか、ローカルのcomposer.jsonを指定することができる。
–stability(-s) initと同様
–prefer-source installと同様
–prefer-dist installと同様
–dev installと同様
–no-custom-installers installと同様
–no-scripts installと同様
–no-progress installと同様
–keep-vcs 作成されたプロジェクトのバージョン管理システムメタデータの削除をスキップする。
これは非対話モードで実行する時に便利。