Вопрос по composer-php, php, symfony – Как я могу установить пакет composer в каталог / src?

3

Как мне изменить мой composer.json для установки непосредственно в src-dir (Symfony / src)?

{
"name": "acme/example-bundle",
"type": "symfony-bundle",
"license": "MIT",
"require": {
    "php": ">=5.3.2",
    "symfony/framework-bundle": "2.1.*"
},
"suggest": {
    "doctrine/doctrine-bundle": "*"
},
"autoload": {
    "psr-0": { "Acme": "src/" }
},
"target-dir": "../../src/Acme/ExampleBundle"

}

Вы когда-нибудь работали? У меня та же проблема, и я хотел узнать, нашли ли вы решение для размещения Bundle в каталоге src / Phill Pafford
Я полностью согласен с принятым ответом. Однако бывают ситуации, когда у вас нет выбора. Какие варианты мне нужно, чтобы установить зависимую систему вsrc вместоvendor? BetaRide

Ваш Ответ

2   ответа
6

идея, поскольку пакеты вендора редактировать не следует, а каталог src предназначен для кода, который редактируется в процессе разработки.

одна причина, которая приходит мне в голову, это то, что вы хотите изменить эти пакеты. если это так, вам лучше не использовать подмодули git, потому что у composer есть только односторонний поток, то есть изменения могут исходить только из источника пакета вендора, а восходящий поток к источнику отсутствует.

я использую подмодули git для пакетов в моих проектах, которые не являются специфичными для проекта и, следовательно, находятся в их собственном репозитории git, но активно развиваются в течение проекта.

Хорошо, ты прав с этим на самом деле. Спасибо за совет!# bodokaiser
Просто запустите php composer.phar и установите --prefer-source, и он сделает это за вас.
Это на самом деле неверно. Если вы укажете --prefer-source composer попытается клонировать git-репозитории и извлекать svn-репозитории для ваших поставщиков, чтобы вы могли разрабатывать и фиксировать в этих репозиториях.
о ... не знал этого. У меня была проблема со старым сценарием вендоров в SF 2.0, что хранилища будут извлечены только для чтения, а фиксация / отправка невозможна. Не могли бы вы опубликовать пример того, как я могу включить репозиторий GitHub, чтобы я мог отодвинуть? Thanx
Я хотел бы запустить команду composer требуется comapny / bundle: 1. * и установить пакет таким образом для развертываний, предложения?
5

этого проекта. Код, который вы устанавливаете как зависимость, попадает в каталог vendor.

Это позволяет легко отслеживать, какой код является частью самого проекта и какой код хранится в отдельном репозитории.

Таким образом, вы не должны устанавливать пакет из отдельного репозитория в каталог src. Пакеты в Symfony прекрасно работают, если они расположены в каталоге vendor, как и многие из базовых пакетов инфраструктуры.

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