我已经用作曲家安装了Magento 2.2.4。一切正常,但是当我运行这个命令时。
php bin/magento setup:di:compile
它给了我一个错误
**[RuntimeException] Source class "\Magento\Payment\Model\Method\Virtual" forMagento\Payment\Model\Method\VirtualLogger" generation does not exist.**
我已清除所有缓存并删除了这些文件夹
rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/session/* var/view_preprocessed/* pub/static/*
我们将不胜感激。提前致谢
答案 0 :(得分:1)
1,注意:在m2.2中var / generation已移至Generated / code,而var / di已移至Generated / metadata,因此我们仅删除generation。
rm -rf generation/* var/cache/* var/page_cache/* var/view_preprocessed/* var/composer_home/cache/*
2,尝试:
composer install
答案 1 :(得分:0)
同上。我还在https://github.com/magento/magento2/issues/14950
上看到了类似的问题注意:var / generation已移至generated / code,var / di已移至m2.2中生成的/元数据
编辑:我还跟gtub上的一些评论后联系了WeltPixel,他们已经说过。
"我们知道Magento 2.2.4附带的这个问题,我们已经修复了它。所有测试完成后,修复将包含在下周的下一个产品版本中。"
答案 2 :(得分:0)
仅当您拥有“Psr \ Log \ LoggerInterface”类的插件时才会出现此问题
在我们的例子中,它是在WeltPixel的扩展名
中app / code / WeltPixel / Backend / etc / di.xml
删除内容
<type name="Psr\Log\LoggerInterface">
<plugin name="weltpixel-backend-logger"
type="WeltPixel\Backend\Plugin\Logger" sortOrder="15"/>
</type>
解决了这个问题。
只需在文件系统中搜索文字
名称= “PSR \ LOG \ LoggerInterface”
并暂时删除该插件,直到我们在GitHub上发布官方解决方案https://github.com/magento/magento2/issues/14950
答案 3 :(得分:0)
首先通过在终端中运行以下命令来清除所有缓存:
rm -rf var/di/* var/generation/* var/cache/* var/page_cache/* var/view_preprocessed/* var/composer_home/cache/*
然后尝试以下操作:
php bin/magento setup:di:compile
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy -f
希望它能解决您的问题。