search
LoginSignup
16

More than 5 years have passed since last update.

posted at

updated at

Organization

Composerで CakePHPのプラグインをインストールする際に、インストール先フォルダを指定する

Composer で、CakePHP とそのプラグインをインストールするとき。

{
    "require": {
       "cakephp/cakephp": "~2.5",
       "cakephp/debug_kit": "2.*"
    }
}

composer.json に上記のように書いて composer install すると、フォルダ構成がこんな感じになる。

- vendor
  - cakephp
    - cakephp
- Plugin
  - DebugKit

デフォルトでは CakePHP のプラグインがルートの Plugin というフォルダに入るのだけど、このフォルダを任意で指定したい場合、どんな書き方をすればいいか調べた。


Composerのサイトの FAQ にそれっぽい記述があり、

How do I install a package to a custom path for my framework?

extra.installer-paths の部分に書くことで、typeごとにプラグインのインストール先フォルダを指定できる。

たとえば composer.json にこう書いて、

{
    "require": {
       "cakephp/cakephp": "~2.5",
       "cakephp/debug_kit": "2.*"
    },
    "extra": {
        "installer-paths": {
            "cakeapp/Plugin/{$name}": ["type:cakephp-plugin"]
        }
    }
}

type:cakephp-plugin のものは cakeapp/Plugin/プラグイン名 というフォルダに保存されるように設定。

上記を composer install すると、こんな構成になる。

- vendor
  - cakephp
    - cakephp
- cakeapp
  - Plugin
    - DebugKit

というかんじです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
16