Laravel 9(PHP8.0.3)安装maatwebsite/excel包报错求助
问题说明
PHP 8.0.3 环境下的 Laravel 9 项目安装 maatwebsite/excel 包时出现安装失败,具体报错逻辑如下:
报错根因
maatwebsite/excel[3.1.36, ..., 3.1.x-dev]要求依赖phpoffice/phpspreadsheet ^1.18,该依赖可由phpoffice/phpspreadsheet[1.18.0, ..., 1.23.0]版本满足maatwebsite/excel[3.1.0, ..., 3.1.25]要求 PHP 版本约束为^7.0,当前环境 PHP 版本为 8.0.3,不满足版本要求maatwebsite/excel[3.1.26, ..., 3.1.35]要求illuminate/support版本约束为5.8.*|^6.0|^7.0|^8.0,虽存在匹配版本范围的illuminate/support包,但这些包未被加载,大概率与其他依赖项存在冲突phpoffice/phpspreadsheet[1.18.0, ..., 1.23.0]要求安装ext-gd扩展,当前系统缺少该扩展,需安装或启用 PHP 的 gd 扩展- 项目根目录
composer.json要求引入maatwebsite/excel ^3.1版本,该版本约束可由maatwebsite/excel[3.1.0, ..., 3.1.x-dev]满足
可行解决方案
方案1:安装启用缺失的gd扩展(推荐)
- 找到对应PHP配置文件,XAMPP环境默认路径为
C:\xampp\php\php.ini - 打开配置文件,找到被注释的
;extension=gd项,删除行首的分号注释后保存文件,重启Apache/PHP服务即可生效 - 若不确定CLI模式下加载的配置文件路径,可在终端执行
php --ini命令查看加载的配置文件列表,避免修改错误的配置文件
方案2:临时跳过扩展校验安装
执行Composer安装命令时追加 --ignore-platform-req=ext-gd 参数,可临时忽略gd扩展的平台要求完成安装。
注意:该方案仅为临时安装手段,安装完成后仍需启用gd扩展,否则Excel读写、导出等相关功能会出现运行错误
方案3:指定兼容版本安装
若上述操作后仍存在版本冲突,可先执行 composer require maatwebsite/excel:* 排查所有可适配当前环境的版本;若明确知晓项目适配的版本号,可直接指定版本安装,示例命令:composer require maatwebsite/excel:^2.1
报错参考截图

内容的提问来源于stack exchange,提问作者Muhammad waqas
相关产品推荐
相关产品推荐

