删除后调用Composer依赖项,强制缓存清除和新签出

时间:2017-09-11 16:35:12

标签: php wordpress symfony caching composer-php

我安装了EkinoWordpressBundle,之后将其删除了,我相信我不再需要它了。

当我访问我的应用程序时,我收到此错误:

  

Symfony \ Component \ Debug \ Exception \ ClassNotFoundException:试图   加载类" WordpressResponseSubscriber"从命名空间   " Ekino \ WordpressBundle \事件\订户&#34 ;.你忘记了"使用"   另一个名称空间的语句在   1950年的/private/var/www/cache/prod/classes.php

当我手动删除classes.php时,我会收到此错误:

  

Symfony \ Component \ Debug \ Exception \ ClassNotFoundException:试图   加载类" WordpressResponseSubscriber"从命名空间   " Ekino \ WordpressBundle \事件\订户&#34 ;.你忘记了"使用"   另一个名称空间的语句在   /Library/WebServer/Documents/crmpicco/symfony/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php   在第152行

我有一个Wordpress应用程序和一个Symfony应用程序并排坐在一起,直到我开始删除对EkinoWordpressBundle的引用。有关背景信息,请参阅my other question

为什么在我使用作曲家将其从我的应用程序中删除后再使用新的结帐时才引用此WordpressResponseSubscriber

1 个答案:

答案 0 :(得分:0)

EkinoWordpressBundle看起来存在一些依赖性问题。如果您尝试执行以下操作,可能会有运气

  1. composer.json

  2. 中删除违规依赖项
  3. 运行composer update EkinoWordpressBundle

  4. 上述内容源自类似的问题和kzpap的回答

    Composer: remove a package, clean up dependencies, don't update other packages

    您可能希望先使用--dry-run标记运行它,看看它会做出哪些更改。

    另请注意,如果您使用的是composer< 1.0.0-β2。查看更改日志here。如果你有旧版本的作曲家,你应该可以使用--update-with-dependencies标志。

    上述命令的作用是更新EkinoWordPressBundle以及依赖它的内容。这包括vendor目录中的文件。在您的情况下,更新是删除它。

    如果您继续遇到classes.php问题,可以尝试删除作曲家的缓存。

    composer clear-cache
    

    请记住,运行上述内容可能会有明显的初始性能问题,因为composer将无法使用缓存进行操作。

    在clear-cache等上查看作曲家文档。

    当然,您可能拥有依赖于已删除依赖项的非作曲家托管类,这些类必须由您删除。