今更なComposerの基本的な使い方

Mon, Dec 14, 2015 2-minute read

かなり今更な感じはありますが、Composerの基本的な使い方をまとめておきます。
PHPでのライブラリの管理は以前はPEARでやっていた印象がありますが、現在はComposerが主流になっていると思います。
本当に基本的な使い方しかまとめないので、公式ドキュメントをご確認くださいが多くなると思いますが、ご了承ください。

Composerとは

PHPのパッケージ管理ツールです。プロジェクト単位での管理が基本になります。
Composerが動作するためにはPHP 5.3.2以上の環境が必要になります。

公式サイトはこちら。
https://getcomposer.org/

Composerのインストール

curlでインストール

$ curl -sS https://getcomposer.org/installer | php

Homebrewでインストール

$ brew install composer --ignore-dependencies

Windowsでインストール

Windowsの場合は、ここからインストーラをダウンロードしてインストールできます。
また、ローカルインストール、グローバルインストールなどの詳細は、こちらをご確認ください。
インストール後にバージョンを確認して、バージョンが出力されれば、正常にインストールできています。

$ php composer.phar -V
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Composer version 1.0-dev (feefd51565bb8ead38e355b9e501685b5254d0d5) 2015-12-03 16:17:58

または

$ composer -V
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Composer version 1.0-dev (feefd51565bb8ead38e355b9e501685b5254d0d5) 2015-12-03 16:17:58

私の環境では You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug とメッセージが表示されますが、これはxdebugを有効にしていると表示されます。
xdebugが有効だと、Composerの実行速度が遅いですよって意味ですが、遅いだけなので今回は詳細については特に記載しません。
xdebugを無効にすれば、メッセージは表示されないと思います。

セットアップ

ディレクトリを作成して、ディレクトリ内に、composer.jsonを作成し、requireキーでパッケージ名とバージョンを指定します。

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

バージョンの指定は、比較演算子、ワイルドカード、チルダ演算子も有効です。詳細は公式サイトに記載されているので、こちらを参照してください。

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

$ php composer.phar install

これでcomposer.jsonに指定したパッケージが、指定したバージョンでvendorディレクトリ内にインストールされます。

パッケージの更新

パッケージは自動更新されないため、新しいバージョンにアップデートするときはupdateコマンドを使います。

$ php composer.phar update

アップデートするパッケージを指定することも可能です。

$ php composer.phar update monolog/monolog

Packagist

PackagistとはメインのComposerリポジトリで、パッケージの取得元です。
PackagistのWebサイトがあり、パッケージの参照、検索ができます。
https://packagist.org/

オートローディング

Composerでパッケージをインストールすると、vendor/autoload.phpが生成されます。
このファイルをインクルードすれば、パッケージを簡単に利用することができます。

require 'vendor/autoload.php';

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');

主なComposerのコマンド

composer.jsonを作成

$ php composer.phar init

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

$ php composer.phar install

開発用のパッケージのインストール

$ php composer.phar install --dev

パッケージの更新

$ php composer.phar update

特定のパッケージのみ更新

$ php composer.phar updat [package name]

パッケージの追加

$ php composer.phar require [package name]:[version]

開発時のみ利用したいパッケージの追加

$ php composer.phar require --dev [package name]:[version]

パッケージを検索

$ php composer.phar search [package name]

パッケージを参照

$ php composer.phar show [package name]

composer自体を更新

$ php composer.phar self-update

comoserの設定変更

$ php composer.phar config [setting key] [setting value]

設定内容を確認

$ php composer.phar config --list

プロジェクトを作成

$ php composer.phar create-project [package name] [install path] [version]

オートローダーを更新

$ php composer.phar dump-autoload

あとがき

最近はPHPの各フレームワークのインストールもComposerを使用するようになっているので、PHPではComposerの利用は必須だと思います。
本当に簡単にまとめましたが、今更なComposerの基本的な使い方でした。