Shopware 6.6插件安装时Composer依赖报错求助
Shopware 6.6插件Composer安装报错解决
问题详情
- 插件兼容Shopware 6.5,仅依赖
whichbrowser/parser - 当前环境:Shopware 6.6.3.0,运行在dockware/dev:6.6.3.0容器中
- 插件
composer.json配置:
{"require": {"shopware/core": "^6.6.0.0","whichbrowser/parser": "^v2.1.8"}}
- 已在插件基类启用自动执行Composer命令:
class MyPlugin extends Plugin{public function executeComposerCommands(): bool{return true;}}
报错内容
安装插件时触发以下错误:
In FilesystemRepository.php line 166: [ErrorException] file_get_contents(/var/www/html/vendor/composer/composer/src/Composer/Repository/../InstalledVersions.php): Failed to open stream: No such file or directory
完整日志显示,Composer在自动更新自身到2.7.7后,尝试读取不存在的InstalledVersions.php文件。
解决方法
1. 重新生成Composer自动加载文件
直接执行命令重新生成缺失的InstalledVersions.php:
composer dump-autoload
完成后再次尝试安装插件。
2. 手动安装依赖,关闭插件自动Composer执行
- 修改插件基类,禁用自动执行Composer命令:
class MyPlugin extends Plugin{public function executeComposerCommands(): bool{return false;}}
- 手动在项目根目录安装依赖:
composer require whichbrowser/parser:^2.1.8
- 最后安装并激活插件:
bin/console plugin:install MyPlugin -a
3. 临时降级Composer版本
报错出现在Composer 2.7.7更新过程中,可临时降级到2.7.6:
composer self-update 2.7.6
重新安装插件,后续待Composer或Shopware修复此问题后再升级。
4. 修复目录权限
确保vendor/composer目录有正确的读写权限:
chown -R www-data:www-data /var/www/html/vendor/composer chmod -R 755 /var/www/html/vendor/composer
内容的提问来源于stack exchange,提问作者Ezycod
相关产品推荐
相关产品推荐

