首页 > 解决方案 > 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 的存储库似乎仍然包含这些包。可能是什么问题呢?

标签: phpdockerbitbucketubuntu-16.04php-7.2

解决方案


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
$ apt-get install -y php7.2

推荐阅读