Composer: изменение стандартных путей vendor для пакетов
Работа с composer/installers: тонкости настройки

Как изменить путь установки пакетов в Composer



Настройка Composer для установки пакетов по заданным путям

Каждый фреймворк может иметь один или несколько различных путей установки пакетов. Composer можно настроить на установку пакетов в папку, отличную от папки vendor по умолчанию, с помощью composer/installers.

Указание type пакета для задания собственного пути установщика

Если вы являетесь автором пакета и хотите, чтобы ваш пакет устанавливался в пользовательский каталог, потребуйте composer/installers и установите соответствующий type. Указание типа пакета отменяет путь установщика по умолчанию. Это часто бывает, если ваш пакет предназначен для конкретного фреймворка, например CakePHP, Drupal или WordPress. Вот пример файла composer.json для темы WordPress:

{
    "name": "you/themename",
    "type": "wordpress-theme",
    "require": {
        "composer/installers": "~1.0"
    }
}

Теперь, когда ваша тема будет установлена с помощью Composer, она будет помещена в папку wp-content/themes/themename/. Проверьте текущие поддерживаемые типы для вашего пакета.

Как задать или переопределить путь установки для пакета Composer

Как получатель пакета вы можете задать или переопределить путь установки для пакета, требующего composer/installers, с помощью дополнительной настройки installer-paths. Полезным примером может быть установка Drupal на нескольких сайтах, когда пакет должен быть установлен в подкаталог вашего сайта. Ниже приводится переопределение путей установки для модуля, использующего composer/installers, а также помещение всех пакетов типа drupal-theme в папку themes:

{
    "extra": {
        "installer-paths": {
            "sites/example.com/modules/{$name}": ["vendor/package"],
            "sites/example.com/themes/{$name}": ["type:drupal-theme"]
        }
    }
}

Теперь пакет будет установлен в выбранное вами место расположения папки, а не в место, определяемое composer/installers по умолчанию. Кроме того, installer-paths зависит от порядка, что означает, что перемещение пакета по имени должно происходить до пути установщика type:*, который соответствует тому же пакету.

Важное замечание

Вы не можете использовать эту функцию для изменения пути к любому пакету. Это применимо только к пакетам, требующим composer/installers и использующим пользовательский type, который он обрабатывает.

Перевод с английского официальной документации Composer:
getcomposer.org

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню