You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 2.0.18执行setup:di:compile报错:NumberFormatterFactory类不存在

解决Magento 2.0.18执行setup:di:compile时的NumberFormatterFactory不存在异常

我之前维护Magento 2.0.x版本时踩过完全一样的坑,下面是几个亲测有效的解决方案,按顺序尝试即可:

1. 检查核心文件是否缺失

错误提示明确指出Magento\Framework\Intl\NumberFormatter不存在,先去Magento根目录下的vendor/magento/framework/Intl/路径,确认NumberFormatter.php和NumberFormatterFactory.php这两个文件是否存在:

  • 如果文件缺失,基本是Composer安装不完整导致的,执行以下命令重新安装依赖(注意锁定2.0.18版本,避免意外升级):
    composer install --no-dev
    
    要是之前修改过composer.lock,也可以针对性更新框架依赖:
    composer update magento/framework --with-dependencies
    

2. 彻底清理缓存与生成文件

旧的缓存或已生成的DI文件很可能干扰编译流程,先把这些文件全部删除:

rm -rf var/cache/* var/generation/* var/di/* var/view_preprocessed/* pub/static/*

清理完成后,再重新执行编译命令:

php bin/magento setup:di:compile

3. 修复目录权限问题

如果Web服务器用户没有足够的读写权限,编译时会无法读取核心类文件。执行以下命令调整权限(根据你的服务器用户组调整,www-data是常见的Web服务器用户):

chmod -R 775 var pub generated
chown -R www-data:www-data .

4. 重新生成Composer自动加载文件

如果Composer的自动加载映射出现异常,PHP会找不到对应的类,执行以下命令重新生成自动加载文件:

composer dump-autoload -o

完成后再次尝试编译即可。


内容的提问来源于stack exchange,提问作者Bob Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:57:04