zikwall
@zikwall

Как правильно использовать composer/installers с installer-paths?

Добрый день!

Не могу разобраться, как правильно использовать кастомные пути установки с помощью установщика(composer/installers)?

Прописал в require пакета:
"require": {
    "php": ">=5.4.0",
    "composer/installers": "~1.0"
  }


далее все в том же composer.json прописал:
"extra": {
    "installer-paths": {
      "modules/{$name}": ["type:my-module"]
    }
  }


где my-module - тип моего пакета, т.е в самом пакете прописывал:
"type": "my-module",

еще пробовал прописывать так:
"extra": {
    "installer-paths": {
      "modules/{$name}": ["repositoryName/packageName"]
    }
  }


еще так:
"extra": {
    "installer-paths": {
      "modules/{$name}/": ["repositoryName/packageName", "vendor/package"]
    }
  }


правда я не понял, что есть vendor/package вторым параметром...

Еще в самом корневом(головном) composer.json, я использую Yii2, прописывал:
"installer-paths": {
     "modules/{$name}": ["type:my-module"]
 }


Вопрос: Что я делаю не так?

З.Ы: вообще мне нужно установить пакеты внутрь другого пакета, который заранее уже установлен.
  • Вопрос задан
  • 903 просмотра
Пригласить эксперта
Ответы на вопрос 1
jkd
@jkd
Пакеты не устанавливаются(не должны) внутрь твоего пакета. Они идут в разделе require, как используемые твоим пакетом. Те.. Если их до этого не было в vendor, то да.. они прокачаются... Если они уже были, произойдет проверка на правильность версий и они качаться не будут...
И я свои пакеты добавляю через внутренний репозиторий(который собираю в отдельной папке )
"repositories": [
{
"type": "path",
"url": "packages/MyRepo/*"
},
{
"type": "path",
"url": "packages/MyRepo/CMSModules/*"
}
],

и при необходимости, нужные мне модули пихаю в
"require": {
"php": ">=5.6.4",
......
"MyRepo/MyModule1":"*"
},
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы