Composer: 无法移除生产环境依赖

3
在本地Symfony项目中,我使用composer remove logger成功删除了一个未使用的依赖项,没有出现任何问题。但是当我尝试从生产环境中删除它时,我的项目出现了问题,并出现以下错误:

列出要更新的“symfony/monolog-bundle”包未安装。忽略。正在加载带有软件包信息的Composer存储库 更新依赖项(包括require-dev) 无需安装或更新包symfony/lts已被弃用,您应该避免使用它。改用symfony/flex。生成自动加载文件 ocramius/package-versions:生成版本类......ocramius/package-versions:生成版本类完成 执行脚本cache:clear [KO] [KO]脚本cache:clear返回错误代码255 !! !! [WARNING]某些命令无法注册:
!! !! 在srcProdProjectContainer.php第938行:
!! 类'Symfony\Bridge\Monolog\Logger'未找到 !!
!! !! !! [WARNING]某些命令无法注册:
!! !! 在srcProdProjectContainer.php第938行:
!! 类'Symfony\Bridge\Monolog\Logger'未找到 !!
!! !! !! 在srcProdProjectContainer.php第922行:
!! 尝试从名称空间“Symfony\Bridge\Monolog”加载类“Logger”。 !! 您是否忘记了“use”语句,例如“Symfony\Component\HttpKernel\Log!! \Logger”或“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] [--] !!
!!

删除失败,将./composer.json还原为其原始内容。

所以它似乎甚至没有被安装?我运行composer require logger并安装成功,然后再次运行composer remove logger,我得到了另一个关于锁定文件不同步的错误。我删除了锁定文件并运行了composer install,这个命令也成功运行。然后我再次尝试composer remove logger,但是我收到以下错误:
加载composer仓库,更新依赖项(包括require-dev),执行以下操作:0次安装,0次更新,3次删除 - 删除symfony/monolog-bundle(v3.3.1) - 删除symfony/monolog-bridge(v4.1.7) - 删除monolog/monolog(1.24.0) 包symfony/lts已被弃用,请避免使用它。请改用symfony/flex。 编写锁定文件,生成自动加载文件 ocramius/package-versions:生成版本类… ocramius/package-versions: …完成 生成版本类 Symfony操作:1个配方(b1d72bd33ffcb308097230cfdbc2a279) - 取消配置symfony/monolog-bundle(>=3.1):来自github.com/symfony/recipes:master 执行脚本cache:clear [KO] [KO] Script cache:clear返回错误代码255! [警告] 无法注册某些命令: 在srcProdProjectContainer.php的第939行: 类“Symfony\Bridge\Monolog\Logger”未找到 在srcProdProjectContainer.php的第939行: 类“Symfony\Bridge\Monolog\Logger”未找到 在srcProdProjectContainer.php的第923行: 尝试从名称空间“Symfony\Bridge\Monolog”加载类“Logger”。 您是否忘记了例如“Symfony\Component\HttpKernel\Log\Logger”或“Symfony\Component\HttpKernel\Tests\Logger”的“use”语句? 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] [--] 删除失败,将./composer.json恢复为原始内容。

我不明白为什么这个就是行不通,而且真的很困惑。有没有人知道我做错了什么或者哪里出了问题?

1个回答

3

问题原来是缓存问题。尽管我之前尝试过使用 php bin/console cache:clear 清除缓存,但这并不足够。

在文件夹 /var/cache/prod 中有一个名为 srcProdProjectContainer.php 的文件,我必须将其删除。删除此文件后,我成功地解除了依赖关系。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接