Я обновляю symfony verdors через композитор. Я всегда делаю это, используя:
php composer.phar update
Но последняя версия композитора, перед обновлением каждого пакета покажет такое сообщение:
- Updating doctrine/data-fixtures dev-master (a95d783 => a28b6bd) The package has modified files: M .gitignore M .gitmodules M LICENSE M README.md M UPGRADE M composer.json M lib/Doctrine/Common/DataFixtures/AbstractFixture.php M lib/Doctrine/Common/DataFixtures/DependentFixtureInterface.php M lib/Doctrine/Common/DataFixtures/Event/Listener/MongoDBReferenceListener.php M lib/Doctrine/Common/DataFixtures/Event/Listener/ORMReferenceListener.php
-10 больше измененных файлов, выберите «v», чтобы просмотреть полный список. Отменить изменения [y, n, v, s,?]?
Как этого избежать?
Установите конфигурацию композитора для отмены изменений (см. https://github.com/composer/composer/pull/1188 ):
php composer.phar config --global discard-changes true
оба ответа @lemats и @ reza-sanaie неполны, поскольку опция -no-взаимодействия (-n) требуется, чтобы у вас было реальное обновление без каких-либо вопросов (см. https://github.com/composer/composer/pull/1188 # issuecomment-16011533 ).
Так после
php composer.phar config --global discard-changes true
или после изменения composer.json
"config": { "discard-changes": true },
использование
php composer.phar update -n
Альтернативой решению @lemats вы можете изменить файл composer.json с помощью:
"config": { "discard-changes": true },
Это не стоит ничего, потому что вы должны работать в режиме --no-interaction
php composer.json install --no-interaction
Хотя я согласен с @Seldaek, вы не должны изменять эти файлы поставщиков, но иногда вы вынуждены обезглавливать его 🙁
Как насчет того, чтобы не изменять файлы поставщиков? Если они модифицируются, скорее всего, из-за некоторых запущенных git-настроек для окончаний строки. См. https://help.github.com/articles/dealing-with-line-endings