- Настройка пользовательских путей через установщики
- Указание путей в composer.json
- Особые случаи и проверки
Настройка пользовательских путей через установщики
Некоторые фреймворки требуют, чтобы определённые пакеты устанавливались в конкретные каталоги за пределами стандартной директории vendor. Для этого в Composer можно использовать установщики (installers).
Например, многие CMS и фреймворки (Drupal, WordPress, Magento, Laravel) предоставляют свои установщики. Чтобы пакет устанавливался в нужную папку, укажите соответствующий тип в его composer.json:
{
    "type": "framework-module",
    "require": {
        "composer/installers": "^2.0"
    }
}Указание путей в composer.json
Для настройки путей установки добавьте параметр installer-paths в секцию extra вашего composer.json. Например, чтобы установить пакеты типа framework-module в modules/{$name}/:
{
    "extra": {
        "installer-paths": {
            "modules/{$name}/": ["type:framework-module"]
        }
    }
}Доступные переменные для путей:
- {$name}— имя пакета,
- {$vendor}— вендор пакета,
- {$type}— тип пакета.
Пример для WordPress (установка плагинов в wp-content/plugins/):
{
    "extra": {
        "installer-paths": {
            "wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
        }
    }
}Особые случаи и проверки
- Убедитесь, что устанавливаемый пакет имеет правильный тип (например, wordpress-plugin,drupal-module). Если тип не указан, Composer использует стандартную папкуvendor.
- Для кастомных сценариев можно использовать события Composer, например ScriptEvents::POST_INSTALL_CMD, чтобы переместить файлы после установки.
- Если пакет не поддерживает нужный тип, потребуется изменить его composer.json(например, через форк).
Перевод с английского официальной документации Composer:
getcomposer.org
 
									 
									





