Понимание symfony2 deps - PullRequest
       1

Понимание symfony2 deps

5 голосов
/ 17 марта 2012

Я работаю с symfony2 в течение некоторого времени, и я не могу найти правильный способ работы с поставщиками.

Итак, вот что я делаю:

Iу меня есть файлы deps и deps.lock в моем git, а я игнорирую всю папку vendors.Теперь, когда я устанавливаю приложение на новый сервер, я делаю php bin/vendors install, чтобы вытащить поставщиков на сервер.Я получаю сообщение, что мне нужно использовать install --reinstall и делать это.

Насколько я понимаю, версии должны теперь быть такими же, как на моей машине для разработки, так как и deps, и deps.lock одинаковы,Но кажется, что deps.lock игнорируется (частично)?

Также есть команда vendors update, которую я не должен использовать.Но я не понял, что он на самом деле делает.

Так что теперь я немного озадачен тем, какая команда должна использоваться, когда и что она должна делать.Может быть, кто-то может пролить свет на эту тему!Меня особенно интересует правильный способ использования команды vendors как локально, так и на сервере, чтобы поставщики были в правильной версии на обеих системах!

Ответы [ 3 ]

4 голосов
/ 17 марта 2012

install --reinstall совпадает с install, но также удаляет содержимое папки поставщика перед установкой.

vendors update обновляет всех ваших поставщиков до последней версии или версии, указанной в вашем файле deps, и обновляет файл deps.lock. Но вам это редко нужно, не знаю, где вы читаете «не следует использовать».

Если вы загляните в файл vendors, вы увидите следующую строку:

if (is_dir($vendorDir.'/symfony') && !is_dir($vendorDir.'/symfony/.git') && !in_array('--reinstall', $argv))
...Try to run ./bin/vendors install --reinstall...

Итак, у вас есть папка vendor / symfony без .git.

4 голосов
/ 17 марта 2012

устанавливаем и обновляем оба загружаем новый код из репозиториев git, указанных в вашем файле deps

устанавливаем проверки хэшей в ваших файлах deps.lock для каждой библиотеки.Если он что-то находит, он извлекает коммит, соответствующий хешу.Если это не так, он извлекает тег или ветку в вашем deps.lock, если он указан, и создает запись в файле deps.lock

update полезно, когда вы хотите обновить новую версию Symfony.(или любая библиотека в файле deps).Если вам когда-нибудь захочется обновить, вы можете прочитать этот пост, который я написал о процессе обновления .

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

0 голосов
/ 17 марта 2012

вы скачали стандартную версию, которая уже содержит поставщиков, поэтому она отображает это сообщение для использования «установить - переустановить»

Я лично сделал ​​php bin / install-reinstall поставщиков в проекте развертывания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...