CakePHP 2.x - ComposerでDebugKitをインストール
前回はファイルをダウンロードしてDebugKitをインストールする方法を紹介しましたが、今回はComposerを使用してDebugKitをインストール方法をご紹介したいと思います。
前回の記事はこちら。
CakePHP 2.x – DebugKitの導入方法
前提条件
Composerがインストールされていることが前提条件です。
Composerのインストール方法、基本的な使い方は下記の記事をご覧ください。
今更なComposerの基本的な使い方
そのままインストールすると…
CakePHPのサイトからzipファイルをダウンロードして展開すると、composer.jsonが含まれています。
composer.jsonにはDebugKitが既に含まれているので、composer installをするとDebugKitがインストールされますが、現在のフォルダ構成上、vendorディレクトリを、pluginディレクトリが2つずつ作成されてしまいます。
$ cd /path/to/cakephp2/
$ composer install
$ tree -d -L 1
.
├── Plugin
├── app
├── lib
├── plugins
├── vendor
└── vendors
6 directories
なので、composer installする前にvendorとpluginをインストールするディレクトリを指定する必要があります。
vendorインストールディレクトリの変更
composer configコマンドで、まずvendorインストールディレクトリを変更します。
$ composer config vendor-dir vendors/
コマンド実行後、composer.jsonを開くとconfigが追加されています。
{
    "name": "cakephp/cakephp",
    "description": "The CakePHP framework",
    "type": "library",
    "keywords": ["framework"],
    "homepage": "http://cakephp.org",
    "license": "MIT",
    "authors": [
        {
            "name": "CakePHP Community",
            "homepage": "https://github.com/cakephp/cakephp/graphs/contributors"
        }
    ],
    "support": {
        "issues": "https://github.com/cakephp/cakephp/issues",
        "forum": "http://stackoverflow.com/tags/cakephp",
        "irc": "irc://irc.freenode.org/cakephp",
        "source": "https://github.com/cakephp/cakephp"
    },
    "require": {
        "php": ">=5.2.8",
        "ext-mcrypt": "*"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*",
        "cakephp/debug_kit" : "2.2.*"
    },
    "bin": [
        "lib/Cake/Console/cake"
    ],
    "config": {
        "vendor-dir": "vendors/"
    }
}
pluginインストールディレクトリの変更
また、pluginインストールディレクトリの変更は、composer.jsonにextraキーを追記します。
extraキーを追記すると、Pluginディレクトリではなく、pluginsディレクトリにCakePHPのプラグインがインストールされます。
コマンドでもやる方法があるかもしれませんが、少し調べてもわからなかったので、ご存知の方がいれば教えて下さい。
{
    "name": "cakephp/cakephp",
    "description": "The CakePHP framework",
    "type": "library",
    "keywords": ["framework"],
    "homepage": "http://cakephp.org",
    "license": "MIT",
    "authors": [
        {
            "name": "CakePHP Community",
            "homepage": "https://github.com/cakephp/cakephp/graphs/contributors"
        }
    ],
    "support": {
        "issues": "https://github.com/cakephp/cakephp/issues",
        "forum": "http://stackoverflow.com/tags/cakephp",
        "irc": "irc://irc.freenode.org/cakephp",
        "source": "https://github.com/cakephp/cakephp"
    },
    "require": {
        "php": ">=5.2.8",
        "ext-mcrypt": "*"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*",
        "cakephp/debug_kit" : "2.2.*"
    },
    "bin": [
        "lib/Cake/Console/cake"
    ],
    "config": {
        "vendor-dir": "vendors/"
    },
    "extra": {
        "installer-paths": {
            "./plugins/{$name}/": ["type:cakephp-plugin"]
        }
    }
}
再度インストール
vendorと、pluginのインストールディレクトリを変更したら、再度composer installを実行します。
実行前に、最初にインストールしたディレクトリを削除しておきます。
$ rm -rf vendor Plugin composer.lock
$ composer install
インストール後、vendorsとpluginsディレクトリの中身を確認します。
$ tree -d -L 1
.
├── app
├── lib
├── plugins
└── vendors
4 directories
$ ls plugins/
DebugKit	empty
$ ls vendors/
autoload.php	bin		composer	empty		phpunit		symfony
cakephp内のディレクトリに無事インストールできました。
あとは、DebugKitのファイルをダウンロードしてインストールしたときと同じように設定すると、DebugKitを利用できます。
以上、CakePHP 2.xでComposerでDebugKitをインストール方法でした。