在一个本地symfony项目中,我使用composer remove logger
删除了一个未使用的依赖项,该依赖项没有任何问题。当我尝试从生产中删除它时,我弄乱了我的项目并得到以下错误:
未安装列出用于更新的软件包“ symfony / monolog-bundle”。无视。用以下方式加载作曲家存储库 软件包信息更新依赖项(包括require-dev) 无需安装或更新软件包symfony / lts,您可以 应该避免使用它。请改用symfony / flex。产生自动加载 文件ocramius / package-versions:生成版本类... ocramius / package-versions:...完成生成版本类执行 脚本缓存:清除[KO] [KO]脚本缓存:清除返回错误 代码255 !! !! [警告]无法注册某些命令:
!! !!在srcProdProjectContainer.php第938行中:!!
!!找不到“ Symfony \ Bridge \ Monolog \ Logger”类! !! !! !! [警告]无法注册某些命令:
!! !!在srcProdProjectContainer.php第938行中:!!
!!找不到“ Symfony \ Bridge \ Monolog \ Logger”类! !! !! !!在srcProdProjectContainer.php中,第922行:!!
!!尝试从名称空间加载类“ Logger” “ Symfony \ Bridge \ Monolog”。 !!您忘记了“使用”声明吗 例如“ Symfony \ Component \ HttpKernel \ Log !! \ Logger”或 “ Symfony \ Component \ HttpKernel \ Tests \ Logger”? !!
!! !!缓存:清除[--no-warmup] [--no-optional-warmers] [-h | --help] [-q |-安静] [-v | vv | vvv |-详细] [-V |-版本] [--ansi] [--no-ansi] [-n |-无交互] [-e |-环境ENV] [-无调试] [-] !!
!!删除失败,将./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执行脚本缓存:清除[KO] [KO]脚本缓存:清除,返回错误代码255! !!
[警告]无法注册某些命令:
!! !!在srcProdProjectContainer.php行939中:!!
!!找不到“ Symfony \ Bridge \ Monolog \ Logger”类! !! !! !! [警告]无法注册某些命令:
!! !!在srcProdProjectContainer.php行939中:!!
!!找不到“ Symfony \ Bridge \ Monolog \ Logger”类! !! !! !!在srcProdProjectContainer.php第923行中:!!
!!尝试从名称空间加载类“ Logger” “ Symfony \ Bridge \ Monolog”。 !!您忘记了“使用”声明吗 例如“ Symfony \ Component \ HttpKernel \ Log !! \ Logger”或 “ Symfony \ Component \ HttpKernel \ Tests \ Logger”? !!
!! !!缓存:清除[--no-warmup] [--no-optional-warmers] [-h | --help] [-q |-安静] [-v | vv | vvv |-详细] [-V |-版本] [--ansi] [--no-ansi] [-n |-无交互] [-e |-环境ENV] [-无调试] [-] !!
!!删除失败,将./composer.json恢复为其原始内容。
我不明白为什么这行不通,而且确实令人困惑。有谁知道我做错了什么或做错了什么?
答案 0 :(得分:1)
原来是缓存问题。尽管我之前尝试使用php bin/console cache:clear
清除缓存,但这还不够。
文件夹/var/cache/prod
中有一个文件srcProdProjectContainer.php
,我必须删除它。删除此文件后,我设法删除了依赖性。