その他のオプション
先ほど紹介したコマンドを含めて、Composerで利用できる主要なコマンドを紹介します
composer init
composer.jsonファイルを、指定したオプションをデフォルト値として対話式で作成します。
$ composer init --name="vendorname/pkgname"
- --name : パッケージ名を指定する
- --description : パッケージの説明を指定する
- --author : パッケージの作者を指定する
- --homepage : パッケージのホームページを指定する
- --require : パッケージの依存制約を指定する。foo/bar:1.0.0 のように指定する
- --require-dev: 開発版パッケージの依存制約を指定する。--requireと同様に記述する
- --stability(-s): minimum-stabilityの値を指定する
composer install
composer.jsonファイルを読み込み、依存パッケージなどのインストールを行います。
$ composer install
- --prefer-source : パッケージをダウンロードする際に、sourceからインストールする
- --prefer-dist : パッケージをダウンロードする際に、distからインストールする
- --dry-run : 実際には実行せずに、シュミレートモードで実行し処理をチェックする
- --dev : require-devで指定されたパッケージをインストールする
- --no-dev : require-devで指定されたパッケージのインストールをスキップする
- --no-scripts : composer.json内で指定されたスクリプトの実行を行わない
- --no-progress : ダウンロードの進捗状態の表示を行わない
- --optimize-autoloader(-o): PSR-0/4に従ったクラス用に最適化されたautoloaderを作成する
composer update
バージョンの依存関係を最新に更新し、composer.lockを更新します。また、特定のパッケージのみを更新する場合には、(1)もしくは(2)のように指定します。
$ composer update $ composer update vendor/package1 vendor/package2 //(1) $ composer update vendor/* //(2)
- --prefer-source : パッケージをダウンロードする際に、sourceからインストールする
- --prefer-dist : パッケージをダウンロードする際に、distからインストールする
- --dry-run : 実際には実行せずに、シュミレートモードで実行し処理をチェックする
- --dev : require-devで指定されたパッケージをインストールする
- --no-dev : require-devで指定されたパッケージのインストールをスキップする
- --no-scripts : composer.json内で指定されたスクリプトの実行を行わない
- --no-progress : ダウンロードの進捗状態の表示を行わない
- --optimize-autoloader(-o): PSR-0/4に従ったクラス用に最適化されたautoloaderを作成する
composer require
composer.jsonのrequireパッケージを追加、更新します。また、vendorフォルダに対し指定したパッケージの追加、更新も行います。対話モード(1)と、パッケージ名を指定(2)するモードがあります。
$ composer require //(1) $ composer require pear/archive_tar:1.3.* //(2)
- --prefer-source : パッケージをダウンロードする際に、sourceからインストールする
- --prefer-dist : パッケージをダウンロードする際に、distからインストールする
- --dev : require-devで指定されたパッケージをインストールする
- --no-update : 依存関係のアップデート行わない。
- --no-progress : ダウンロードの進捗状態の表示を行わない
composer search
現在のパッケージリポジトリからパッケージを検索する。デフォルトでは、packagistから検索します。
$ composer search monolog
- --only-name(-N) : 名前のみを検索対象とする
composer show
利用可能なパッケージ一覧を表示します。
$ composer show $ composer show pear/archive_tar
- --installed(-i) : インストールされているパッケージを表示する
- --platform(-p) : プラットフォームパッケージを表示する
- --self(-s) : ルートパッケージを表示する
composer self-update
composerコマンド自身を最新に更新します。共通コマンドとしてインストールしている場合には、root権限で実行します。
# composer self-update
composer dump-autoload
クラスマップに新しいクラスを追加し、オートローダーを更新する必要がある場合にinstallコマンドや、updateコマンドを利用する代わりにこのコマンドを利用します。
$ composer dump-autoload
- --optimize(-o): PSR-0/4オートロードをクラスマップに変換します。本番環境で利用を推奨します。
ComposerはZend Studioなどでの標準でサポートされており、エディター上からComposerのinstall/updateなどのコマンドが実行できます。
必要最低限ではありますが、composer.jsonファイルをテキストエディタで修正すると割り切れば機能的にも十分と言えます。
また、EclipseのPluginでもhttp://composer.dubture.com/のようなプラグインがあります。こちらは筆者は使ったことはありませんが、こちらの方が非常に機能が多くなっています。
最後に
今回はComposerを使ってみるということに重点をおいて説明をしましたので、内容については今一つ分からないこともあったかと思います。
しかしながら、既存のライブラリを使うという点であれば、ここまでの知識でも十分と思います。今までPEARも含めてパッケージ管理を使わず、プロジェクトのフォルダにライブラリのソースを配置して管理していた場合には、composer.jsonという管理ファイルがあるだけで、後でどのような用途で何のライブラリを把握するのに役にたちますので、部分的にでも導入していくとよいと思います。次回からはcomposer.jsonファイルの中身のルールや、自作したライブラリをComposerを使って管理する方法などを紹介します。