执行php artisan sail:install时遇Ubuntu仓库Release文件缺失错误
解决Laravel Sail安装时Ubuntu仓库404错误
问题原因
你使用的Ubuntu 21.04(Hirsute Hippo)是短期支持版本,已于2022年1月结束生命周期,官方软件源已停止维护,导致apt-get update时出现404错误。
解决方案
方法一:升级到受支持的Ubuntu版本(推荐)
Laravel Sail默认的Docker镜像使用了过时的Ubuntu版本,替换为长期支持的22.04(Jammy Jellyfish)即可解决:
- 打开项目根目录下的
Dockerfile - 将第一行的
FROM docker.io/library/ubuntu:21.04修改为FROM docker.io/library/ubuntu:22.04 - 找到文件中添加PPA的行:
echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu hirsute main" > /etc/apt/sources.list.d/ppa_ondrej_php.list,将hirsute替换为jammy - 执行命令重新构建镜像:
php artisan sail:install # 或者直接构建 ./vendor/bin/sail build --no-cache
方法二:替换为归档源(临时方案)
如果暂时不想升级Ubuntu版本,可将系统源替换为Ubuntu旧版本归档源:
在Dockerfile中RUN apt-get update之前添加以下命令:
RUN sed -i -e 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/old-releases.ubuntu.com\/ubuntu\//g' /etc/apt/sources.list && \ sed -i -e 's/http:\/\/security.ubuntu.com\/ubuntu\//http:\/\/old-releases.ubuntu.com\/ubuntu\//g' /etc/apt/sources.list
然后重新执行sail install或sail build --no-cache。
内容的提问来源于stack exchange,提问作者Omar Abdelazeem
相关产品推荐
相关产品推荐

