我有几个大型 Symfony 项目,并且注意到在将所有内容更新到 Symfony 4 (Flex) 之后,当我们的部署自动化运行其正常过程时:
composer install --no-dev
我们最终得到(例如)这个:
Symfony operations: 2 recipes (72fad9713126cf1479bb25a53d64d744)
- Unconfiguring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:master
- Unconfiguring phpunit/phpunit (>=4.7): From github.com/symfony/recipes:master
然后,正如预期的那样,这会导致symfony.lock
and以及其他任何内容发生变化config/bundles.php
,具体取决于.require-dev
composer.json
确切地说,这些都没有破坏,但是生产部署不再有干净的git status
输出是很烦人的,并且可能导致对实际部署的内容感到困惑。
有多种解决方法,例如我可以把所有东西都放进去,require
而不是require-dev
因为部署这些东西没有真正的危害,或者我可以省略--no-dev
Composer 命令的一部分。
但实际上,这里的正确做法是什么?如果您只是部署一个锁定的软件,没有办法告诉 Flex 不对配置进行任何更改,这似乎很奇怪。这是一个功能请求,还是我在这里错过了一些配置?