Magento项目执行composer install时报错求助:[ErrorException] require(vendor/magento/framework/registration.php): failed to open stream: No such file or directory
解决Magento执行
composer install时找不到registration.php的问题 别慌,这个问题在Magento开发里挺常见的,大概率是依赖安装过程中脚本提前触发、缓存残留或者依赖加载顺序导致的,给你几个一步步排查解决的方案:
第一步:清理残留文件与缓存
先把可能干扰的旧文件和缓存清掉,确保从头开始安装:
- 删除整个
vendor目录:
Linux/macOS:rm -rf vendor
Windows命令行:rmdir /s vendor - 删除
composer.lock文件:rm composer.lock - 清理Composer缓存:
composer clear-cache
第二步:跳过脚本先安装核心依赖
Magento的Composer脚本有时候会在依赖完全安装前就尝试加载registration.php,导致报错。我们可以先跳过脚本安装所有依赖,再正常执行安装:
- 执行跳过脚本的安装命令:
composer install --no-plugins --no-scripts - 等上面的命令执行完成(所有依赖都已下载到vendor目录),再执行正常的安装命令:
composer install
第三步:检查并确保核心包存在
如果上面的步骤还是没解决,检查你的composer.json是否正确包含了magento/framework包,并且版本和你的Magento版本匹配:
- 可以手动执行命令重新要求这个包:
composer require magento/framework --no-update - 然后更新依赖:
composer update magento/framework
额外注意事项
- 确保你的PHP版本符合当前Magento版本的要求(比如Magento 2.4需要PHP 7.4/8.1等),版本不兼容也可能导致依赖安装异常
- 检查项目目录的读写权限,确保Composer有足够权限创建和写入
vendor目录下的文件
内容的提问来源于stack exchange,提问作者code 8
相关产品推荐
相关产品推荐

