Ubuntu系统下Laravel8执行composer create-project报依赖无法安装如何解决
报错原因
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpunit/phpunit[9.5.10, ..., 9.5.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires phpunit/phpunit ^9.5.10 -> satisfiable by phpunit/phpunit[9.5.10, 9.5.x-dev].
上述报错核心原因是Laravel依赖的phpunit组件需要PHP的dom扩展,你当前Ubuntu系统的PHP环境未安装/启用该扩展,导致composer依赖校验不通过。
修复步骤
- 首先执行以下命令查看当前使用的PHP版本,确认版本号
php -v
- 根据输出的PHP版本安装对应的xml扩展包(
dom扩展属于php-xml软件包集合):- 如果使用Ubuntu源默认的PHP版本,直接执行:
sudo apt update && sudo apt install php-xml- 如果使用指定版本(例如PHP 8.2),将命令中的版本号替换为你实际使用的版本即可:
sudo apt update && sudo apt install php8.2-xml - 安装完成后验证扩展是否正常启用,执行如下命令,输出
dom即为启用成功
php -m | grep dom
- 重新执行原来的
composer create-project命令即可完成项目创建
如果后续web端访问出现相关扩展缺失报错,重启对应web服务即可:
- Apache环境执行
sudo systemctl restart apache2 - PHP-FPM环境执行
sudo systemctl restart php8.2-fpm(同样替换为自己的PHP版本号)
内容的提问来源于stack exchange,提问作者Mohamed N'ait Merri
相关产品推荐
相关产品推荐

