この composer プラグインを実装して、パッケージをユーザー (カスタム) 定義のフォルダーにインストールしました。composer.json に含めることができます。例に従って、さらに質問がある場合は教えてください :)
https://github.com/mnsami/composer-custom-directory-installer
composer-custom-directory-installer
vendor
フォルダー内にあるデフォルトの composer デフォルト インストール パスの外にあるカスタム ディレクトリに、さまざまなタイプの composer パッケージをインストールするための composer プラグイン。
composer-installer
これは、composer 以外のパッケージ タイプ (.. など) をサポートするための別のライブラリではありませんapplication
。これは、ベンダー フォルダの外に composer パッケージをインストールする柔軟性を追加するためだけのものです。このパッケージは、composer
パッケージ タイプのみをサポートします。
https://getcomposer.org/doc/04-schema.md#type
パッケージのタイプ。デフォルトはライブラリです。
パッケージ タイプは、カスタム インストール ロジックに使用されます。特別なロジックが必要なパッケージがある場合は、カスタム タイプを定義できます。これは、symfony-bundle、wordpress-plugin、または Typo3-module である可能性があります。これらのタイプはすべて特定のプロジェクトに固有であり、そのタイプのパッケージをインストールできるインストーラーを提供する必要があります。
使い方
- composer プラグインを
composer.json
require
セクションに含めます::
"require":{
"php": ">=5.3",
"mnsami/composer-custom-directory-installer": "1.1.*",
"monolog/monolog": "*"
}
- セクションで、
extra
パッケージをインストールするカスタム ディレクトリを定義します。
"extra":{
"installer-paths":{
"./monolog/": ["monolog/monolog"]
}
この部分を追加することで、ルート ディレクトリのフォルダー内にパッケージinstaller-paths
をインストールするように composer に指示します。monolog
monolog
- 追加された新機能として、 と同じようにダウンロード ディレクトリをより柔軟に定義できるようになりました。つまり、セクションでやの
composer/installers
ような変数を使用できます。{$vendor}
{$name}
installer-path
"extra": {
"installer-paths": {
"./customlibs/{$vendor}/db/{$name}": ["doctrine/orm"]
}
}
doctrine/orm
上記は、パッケージをプロジェクトのルートフォルダーの の下にインストールすることを管理しますcustomlibs
。
ノート
Composertype: project
は、このインストーラーではサポートされていません。タイプのパッケージは、別のパッケージで必要とされるproject
などのアプリケーション シェルで使用する場合にのみ意味があるためです。symfony/framework-standard-edition