Должен ли я добавить каталог поставщиков Laravel в.gitignore или нет?


У меня есть каталог поставщиков в файле .gitignore. Каждый раз, когда я запускаю composer update, git не может отслеживать обновления и изменения каталога vendor, и поэтому я не могу отменить эти изменения!!

Мой вопрос: Возможно ли, что приложение аварийно завершит работу ИЛИ столкнется с ошибками после composer update, поэтому необходимо git reset?

Если это возможно, не лучше ли удалить каталог поставщиков из .gitignore? может быть, есть другие решения этой проблемы? (если это вообще проблема !!)

Author: Ahmad Mobaraki, 2016-08-28

2 answers

Композитор предоставляет файл composer.lock для этой цели.

Установка нового пакета, выполнение composer update и т.д., Которые вызывают изменения пакета, запишут точные версии установленных пакетов в composer.lock. Вы должны включить этот файл в файлы с версиями вашего репозитория.

Вы можете запустить composer install, чтобы автоматически установить точный список версий пакетов из composer.lock. Поскольку он будет версионным, вы всегда можете откатить его до рабочей версии и запустить composer install снова.

Примечание сбоку: composer dump-autoload не следует вносить никаких разрушительных изменений в vendor.

 6
Author: ceejayoz, 2016-08-28 14:11:39

vendor каталог по умолчанию находится в .gitignore. И это хорошая идея, потому что composer установит все пакеты, которые он найдет в composer.json для вас на любой машине в любое время. Если у вас возникли проблемы с новой версией какого-либо пакета, просто измените его обратно в composer.json и снова запустите composer update.

Конечно, вы можете удалить каталог vendor из .gitignore, но это замедлит фиксацию и займет гораздо больше места на диске и на GitHub/Bitbucket и т. Д.

 5
Author: Alexey Mezenin, 2016-08-28 14:05:58