この 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 に指示します。monologmonolog
- 追加された新機能として、 と同じようにダウンロード ディレクトリをより柔軟に定義できるようになりました。つまり、セクションでやの
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