composer update从symfony flex中删除以前安装的软件包

composer update从symfony flex中删除以前安装的软件包,symfony,composer-php,symfony4,Symfony,Composer Php,Symfony4,当我使用flex在symfony 4.3项目中安装一些LIB时: composer require twig monolog 产出: Using version ^1.0 for symfony/twig-pack Using version ^3.4 for symfony/monolog-bundle ./composer.json has been updated Loading composer repositories with package information Updatin

当我使用flex在symfony 4.3项目中安装一些LIB时:

composer require twig monolog
产出:

Using version ^1.0 for symfony/twig-pack
Using version ^3.4 for symfony/monolog-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)         
Restricting packages listed in "symfony/symfony" to "4.3.*"
Package operations: 5 installs, 0 updates, 0 removals
  - Installing twig/extra-bundle (v2.12.1): Loading from cache
  - Installing symfony/twig-pack (v1.0.0): Loading from cache
  - Installing monolog/monolog (1.25.1): Loading from cache
  - Installing symfony/monolog-bridge (v4.3.5): Loading from cache
  - Installing symfony/monolog-bundle (v3.4.0): Loading from cache
Writing lock file
Generating autoload files
Symfony operations: 2 recipes (9554635a5313eba1c8b1d73eafba51c3)
  - Configuring twig/extra-bundle (>=v2.12.1): From auto-generated recipe
  - Configuring symfony/monolog-bundle (>=3.3): From github.com/symfony/recipes:master
Executing script cache:clear
它们被添加到symfony.lock中,但没有添加到composer.json中

所以我下次跑步的时候

composer update
这些库将被删除并再次取消配置

Loading composer repositories with package information
Updating dependencies (including require-dev)         
Restricting packages listed in "symfony/symfony" to "4.3.*"
Package operations: 0 installs, 0 updates, 5 removals
  - Removing twig/extra-bundle (v2.12.1)
  - Removing symfony/twig-pack (v1.0.0)
  - Removing symfony/monolog-bundle (v3.4.0)
  - Removing symfony/monolog-bridge (v4.3.5)
  - Removing monolog/monolog (1.25.1)
Writing lock file
Generating autoload files
Symfony operations: 2 recipes (0637fcde6e70b4f7a32f5fed62f0c462)
  - Unconfiguring twig/extra-bundle (>=v2.12.1): From auto-generated recipe
  - Unconfiguring symfony/monolog-bundle (>=3.3): From github.com/symfony/recipes:master
Executing script cache:clear 
这是正常的行为吗?
对我来说似乎有点奇怪。

之所以发生这种情况,是因为在composer update中的以下
缓存:clear
期间项目中出现错误

安装失败,将./composer.json还原为其原始版本 内容


然后composer或flex开始回滚,composer.json没有更新,symfony.lock仍然保持更新。

我创建了一个新的骨架项目,并执行了require命令。事情按预期进行。monolog bundle 3.4和twig pack 1.0被添加到composer.json中。运行composer update没有更改任何内容。您使用的php版本是什么?您的composer.json是来自遗留项目还是新创建的?考虑创建一个新的项目,看看你是否能重现这个问题。它来自一个几乎已经有了更多项目的新项目。我最近添加了
“最小稳定性”:“dev”,“preferstable”:true,
好的。我的composer调试知识几乎局限于重新开始并试图找出哪里出了问题。我确实知道有一项工作正在进行中。有可能是开发人员的稳定性把事情搞砸了。是的,刚刚用
最低稳定性在新鲜的symfony项目上进行了测试:“dev”,“preferstable”:true
,但似乎有效