我正在通过composer更新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,?]?
如何避免这种情况?
答案 0 :(得分:37)
设置composer config以放弃更改 (见:https://github.com/composer/composer/pull/1188):
php composer.phar config --global discard-changes true
答案 1 :(得分:29)
@lemats和@ reza-sanaie的答案都不完整,因为--no-interaction(-n)作曲家的选项需要有一个真正的更新,没有任何问题(见{{3} })。
所以
之后php composer.phar config --global discard-changes true
或修改composer.json后
"config": {
"discard-changes": true
},
使用
php composer.phar update -n
答案 2 :(得分:19)
替代@lemats解决方案,您可以使用以下命令修改composer.json文件:
"config": {
"discard-changes": true
},
这个选项没有任何价值,你必须在--no-interaction
模式下运行
php composer.json install --no-interaction
虽然我同意@Seldaek你不应该修改这些供应商文件,但有时你被迫修补它:(
答案 3 :(得分:-1)
如何不修改供应商文件?如果它们被修改的可能性很大,那是因为对于行结尾的一些混乱的git设置。见https://help.github.com/articles/dealing-with-line-endings