【问题标题】:Magento 2 cannot delete module bceause ClassReader.php class not foundMagento 2 无法删除模块 bceause ClassReader.php 类未找到
【发布时间】:2021-03-16 02:05:33
【问题描述】:

Magento 2.3.3 我安装了 Swissup/Core 模块。我遇到了一些问题并将其删除。删除模块后,(从作曲家目录中删除)我不能再使用 Magento 2。尝试运行任何命令时,我得到以下信息。

更新模块: 类 Swissup\Core\Console\Command\ModuleCommand 不存在

在 ClassReader.php 第 19 行:

类 Swissup\Core\Console\Command\ModuleCommand 不存在

我检查了,这个模块没有创建属性。我检查了 source_model、frontend_model、backend_model。

我删除了 composer.json、composer.lock 中对模块的所有引用。 我在供应商目录的作曲家文件中删除了对它的所有引用。 我删除了缓存、pub/static、生成和 var/cache。 我还在整个站点上进行了递归搜索,以查找包含单词 swissup 或 Swissup 的任何文件。没有找到。 我还从设置表中删除了该模块。 我还检查/删除了 core_config_data 中的任何引用

不过,我无法使用该系统,并且此错误仍然存​​在。 我清除了所有作曲家缓存

我也作为测试,在app/etc/env.php中放了无效的凭证,看看数据库是否会导致问题,但没有,我仍然得到这个错误。

我不明白,如果我确定通过在 Magento 的一部分的每个文件中执行 grep 并且不存在此类引用,那么如何引发此错误。必须有一些文件存储在 Magento 文件系统之外。这不可能是数据库问题,因为我输入了无效值,导致数据库无法连接。

【问题讨论】:

    标签: magento2


    【解决方案1】:

    我强烈建议您先运行 bin/magento module:disable Vendor_Namespace 然后运行 ​​composer remove vendor/package 来删除模块,而不是在文件系统中删除它。

    您有可以重置的 git 存储库吗? composer install 会产生错误吗?

    【讨论】:

      【解决方案2】:

      如果setup_module 表中有模块条目,就会发生这种情况。

      如果要删除的模块是Vendor_Module,则在setup_module表中搜索模块:

      SELECT * FROM setup_module WHERE module = "Vendor_Module";
      

      如果您在setup_module 表中找到该模块,则需要将其从表中删除:

      DELETE FROM setup_module WHERE module = "Vendor_Module";
      

      【讨论】:

        猜你喜欢
        • 2019-09-03
        • 1970-01-01
        • 1970-01-01
        • 2020-09-10
        • 1970-01-01
        • 2018-06-14
        • 2021-07-17
        • 2018-04-17
        • 2018-10-01
        相关资源
        最近更新 更多