如何解决Docker 映像:无法找到包 php7.2
我有一个 bitbucket 管道设置,它已经完美运行了一年,但几天前它停止工作了
这是我的 bitbucket 配置的开始
image: atlassian/default-image:2
options:
max-time: 30
pipelines:
default:
- step:
script:
- echo "This script runs on all branches that don't have any specific pipeline assigned in 'branches'."
branches:
master:
- step:
caches:
- composer
name: cms
deployment: production
script:
- apt-get update
- apt-get install -y software-properties-common python-software-properties
- add-apt-repository -y ppa:ondrej/php
- apt-get update
- apt-get install -y php7.2 php7.2-cli php7.2-common php7.2-mbstring
- apt-get install -y php7.2-curl php7.2-xml
...
...
现在我不断收到以下错误(以前没有发生过):
+ apt-get install -y php7.2 php7.2-cli php7.2-common php7.2-mbstring
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package php7.2
E: Couldn't find any package by regex 'php7.2'
E: Unable to locate package php7.2-cli
E: Couldn't find any package by regex 'php7.2-cli'
E: Unable to locate package php7.2-common
E: Couldn't find any package by regex 'php7.2-common'
E: Unable to locate package php7.2-mbstring
E: Couldn't find any package by regex 'php7.2-mbstring'
我在 docker 镜像端找不到任何更改,而且 ondrej 的 repo 似乎仍然包含这些包。可能是什么问题?
解决方法
atlassian/default-image:2 基于 ubuntu16.04(xenial),但它的生命周期是 2021 年 4 月。
从 ppa:ondrej/php 主页我们可以看到下一个:
不要要求终止生命周期的 PHP 版本或 Ubuntu 版本,它们不会被提供。
这意味着楼主已经取消了对ubuntu16.04的支持,这就是你无法在ubuntu16.04上安装php7.2的原因。
对于你来说,去 PPA 找到另一个 php7.2 ppa,例如ppa:jason.grammenos.agility/php,那么接下来可以解决您的问题:
$ add-apt-repository -y ppa:jason.grammenos.agility/php
$ apt-get update
$ apt-cache policy php7.2
php7.2:
Installed: (none)
Candidate: 7.2.15-1+ubuntu16.04.1+deb.sury.org+1
Version table:
7.2.15-1+ubuntu16.04.1+deb.sury.org+1 500
500 http://ppa.launchpad.net/jason.grammenos.agility/php/ubuntu xenial/main amd64 Packages
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。