読者です 読者をやめる 読者になる 読者になる

It's raining cats and dogs.

無駄なことなんてないはず

composerでライブラリのインストールディレクトリを変える

composerphpのライブラリ管理ツールだ。改めて説明する必要はないくらいだけど、rubyのbundlerとかperlのcartonみたいなもんだ。

composerのざっくりとしたディレクトリ構成は

current_dir
 ├ composer.phar
 ├ composer.json
 ├ composer.lock
 └ vendor
    ├ autoload.php
    ├ composer
    ├ ・・・
    ├ <ライブラリA>
    └ <ライブラリB>

こんな感じになっていて

[current_dir]$ php composer.phar install<or update>

などでライブラリをインストールするとvenderディレクトリにインストールされる。

で、このvendorディレクトリを別の名前にしたかったので、いろいろ調べてみたがそれらしい情報に出会えなかったので、composerのソースをみて試してみた。

結論としてcomposer.jsonに以下の設定をしたらインストール先のディレクトリ名を変えれた。

{
    "config": {
      "vendor-dir": "my_library"
    },
...
}

このようにconfigにvendor-dirに任意のディレクトリ名を設定できるようだ。

他にも

https://github.com/composer/composer/blob/master/src/Composer/Config.php

この辺りのソースを見るとなにやらいろいろ設定できそう。

追記

よくよくcomposerのドキュメントをみるときちんと書いてあって残念な気分になりました。。。ドキュメントはきちんと読みましょう。

http://getcomposer.org/doc/04-schema.md#config