Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Composer: cannot remove dependency on production

Tags:

composer-php

On a local symfony project I removed an unused dependency with composer remove logger, which worked without any problem. When I tried to remove it from production I mess up my project and get the following error:

Package "symfony/monolog-bundle" listed for update is not installed. Ignoring. Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Package symfony/lts is abandoned, you should avoid using it. Use symfony/flex instead. Generating autoload files ocramius/package-versions: Generating version class... ocramius/package-versions: ...done generating version class Executing script cache:clear [KO] [KO] Script cache:clear returned with error code 255 !! !! [WARNING] Some commands could not be registered:
!! !! In srcProdProjectContainer.php line 938: !!
!! Class 'Symfony\Bridge\Monolog\Logger' not found !!
!! !! !! [WARNING] Some commands could not be registered:
!! !! In srcProdProjectContainer.php line 938: !!
!! Class 'Symfony\Bridge\Monolog\Logger' not found !!
!! !! !! In srcProdProjectContainer.php line 922: !!
!! Attempted to load class "Logger" from namespace "Symfony\Bridge\Monolog". !! Did you forget a "use" statement for e.g. "Symfony\Component\HttpKernel\Log !! \Logger" or "Symfony\Component\HttpKernel\Tests\Logger"? !!
!! !! cache:clear [--no-warmup] [--no-optional-warmers] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] !!
!!

Removal failed, reverting ./composer.json to its original content.

So it seems it is not even installed? I run composer require logger and it installs, after I again run composer remove logger and I get another error about the lock file being not in sync. I removed the lock file and run composer install, which works. I then try composer remove logger once more and get the error:

Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 0 installs, 0 updates, 3 removals - Removing symfony/monolog-bundle (v3.3.1) - Removing symfony/monolog-bridge (v4.1.7) - Removing monolog/monolog (1.24.0) Package symfony/lts is abandoned, you should avoid using it. Use symfony/flex instead. Writing lock file Generating autoload files ocramius/package-versions: Generating version class... ocramius/package-versions: ...done generating version class Symfony operations: 1 recipe (b1d72bd33ffcb308097230cfdbc2a279) - Unconfiguring symfony/monolog-bundle (>=3.1): From github.com/symfony/recipes:master Executing script cache:clear [KO] [KO] Script cache:clear returned with error code 255 !! !!
[WARNING] Some commands could not be registered:
!! !! In srcProdProjectContainer.php line 939: !!
!! Class 'Symfony\Bridge\Monolog\Logger' not found !!
!! !! !! [WARNING] Some commands could not be registered:
!! !! In srcProdProjectContainer.php line 939: !!
!! Class 'Symfony\Bridge\Monolog\Logger' not found !!
!! !! !! In srcProdProjectContainer.php line 923: !!
!! Attempted to load class "Logger" from namespace "Symfony\Bridge\Monolog". !! Did you forget a "use" statement for e.g. "Symfony\Component\HttpKernel\Log !! \Logger" or "Symfony\Component\HttpKernel\Tests\Logger"? !!
!! !! cache:clear [--no-warmup] [--no-optional-warmers] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] !!
!!

Removal failed, reverting ./composer.json to its original content.

I don't understand why this just won't work and it is really confusing. Does anyone understand what I do wrong or what is wrong?

like image 219
Dirk J. Faber Avatar asked Mar 13 '26 04:03

Dirk J. Faber


1 Answers

It turned out to be a cache problem. Although I had tried to clear the cache before with php bin/console cache:clear this was not enough.

In the folder /var/cache/prod there is a file srcProdProjectContainer.php which I had to delete. After deleting this file I managed to remove the dependency.

like image 107
Dirk J. Faber Avatar answered Mar 16 '26 05:03

Dirk J. Faber