Обновление composer удаляет ранее установленные пакеты из symfony flex - PullRequest
0 голосов
/ 22 октября 2019

Когда я устанавливаю некоторые библиотеки в мой проект Symfony 4.3 с помощью flex:

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 

Это нормальное поведение? Мне немного странно.

1 Ответ

0 голосов
/ 23 октября 2019

Это произошло из-за ошибки в проекте во время следующего cache:clear в обновлении композитора.

Установка не удалась, вернув ./composer.json к исходному содержимому.

Затем composer или flex запускают откат, а composer.json не обновляется, однако symfony.lock остается обновленным.

...