Symfony 4.4 安装Swift Mailer依赖解析失败如何解决?
解决方案
操作前建议先备份composer.json和composer.lock文件,方便出现异常时回滚。
处理web-server-bundle依赖冲突
symfony/web-server-bundle v4.4.0仅支持PHP版本^7.1.3,和你当前使用的PHP8.0不兼容。该包仅用于开发环境启动本地服务,无生产依赖,直接执行命令移除即可:
composer remove symfony/web-server-bundle
后续开发启动本地服务可直接使用PHP内置服务替代,命令如下:
php -S 127.0.0.1:8000 -t public
处理laminas-code依赖冲突
当前锁定的laminas-code 3.4.1版本不支持PHP8,而依赖链中的friendsofphp/proxy-manager-lts v1.0.5本身兼容laminas-code 4.0以上版本,4.x版本支持PHP8,执行以下命令指定安装兼容版本:
composer require laminas/laminas-code:"^4.0" --no-update
如果你项目没有用到服务代理相关功能,也可以直接移除symfony/proxy-manager-bridge包,彻底解决该依赖链冲突:
composer remove symfony/proxy-manager-bridge
重新安装Swift Mailer
完成上述调整后,执行官方安装命令即可:
composer require symfony/swiftmailer-bundle
如果仍提示依赖冲突,可添加参数允许Composer自动升级相关依赖到兼容版本:
composer require symfony/swiftmailer-bundle -W
额外提示:你当前的composer.json中已经安装了Symfony官方推荐的symfony/mailer组件,4.4版本起Swift Mailer已被废弃,可直接使用已安装的mailer组件实现邮件发送功能,无需额外安装Swift Mailer。
内容的提问来源于stack exchange,提问作者Nadim
相关产品推荐
相关产品推荐

