如何将Laravel Sail的PHP版本降级至7.4?构建错误求助
解决Laravel Sail降级PHP7.4构建失败问题
问题原因
PHP7.4对应的Sail基础镜像(Ubuntu 20.04)官方常规源已归档,导致apt-get update无法正常获取软件包列表,进而触发依赖安装失败。
解决方案
方案1:修改Dockerfile的APT源
- 打开项目内的
vendor/laravel/sail/runtimes/7.4/Dockerfile文件 - 在
RUN apt-get update语句前添加以下代码,替换为Ubuntu归档源:RUN sed -i -e 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/old-releases\.ubuntu\.com\/ubuntu\//g' /etc/apt/sources.list RUN sed -i -e 's/http:\/\/security\.ubuntu\.com\/ubuntu\//http:\/\/old-releases\.ubuntu\.com\/ubuntu\//g' /etc/apt/sources.list - 保存文件后重新执行构建:
sail build --no-cache
方案2:降级Sail到支持PHP7.4的版本
若当前Sail版本为v2.x及以上,这类版本已停止维护PHP7.4的runtime,可降级Sail版本:
- 执行Composer命令降级:
composer require laravel/sail:^1.13 --dev - 重新执行构建命令:
sail build --no-cache
方案3:指定可用的基础镜像版本
修改vendor/laravel/sail/runtimes/7.4/Dockerfile的基础镜像为仍可正常使用的旧版本:
FROM ubuntu:focal-20240424
保存后重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者Kit bender
相关产品推荐
相关产品推荐

