运行Laravel测试遇报错,依赖安装失败该如何解决?
问题原因及解决步骤
问题原因
- 执行
php artisan test报错:PHP的mbstring扩展未安装,Laravel测试依赖的PHPUnit需要该扩展处理多字节字符串,缺少它会直接导致测试无法启动。 apt --fix-broken install失败:Ubuntu默认的土耳其源(tr.archive.ubuntu.com)无法连接,大概率是网络路由故障、源服务器宕机,或是当前网络环境限制访问境外源导致的。
解决步骤
1. 替换Ubuntu软件源为国内可用源
先搞定源连接问题,才能正常安装依赖:
- 备份原有源配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 编辑源文件:
sudo nano /etc/apt/sources.list - 清空原有内容,粘贴对应Ubuntu版本的国内源(以20.04为例,其他版本替换
focal为对应代号,比如22.04是jammy):deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse - 保存退出(按
Ctrl+O回车确认,再按Ctrl+X) - 更新源缓存:
sudo apt update - 修复损坏的依赖:
sudo apt --fix-broken install
2. 安装PHP mbstring扩展
根据你的PHP版本选择对应命令安装:
- PHP 7.4:
sudo apt install php7.4-mbstring - PHP 8.0:
sudo apt install php8.0-mbstring - PHP 8.1:
sudo apt install php8.1-mbstring - 若使用PHP-FPM,重启服务让扩展生效:
sudo systemctl restart php7.4-fpm # 替换为你的PHP版本
3. 验证并运行测试
- 检查扩展是否安装成功:
终端输出php -m | grep mbstringmbstring即为安装成功。 - 重新运行Laravel测试:
php artisan test
内容的提问来源于stack exchange,提问作者Stepan Raikevich
相关产品推荐
相关产品推荐

