无法在alpine linux中安装php7-mongodb

问题描述 投票:0回答:3

我正在尝试用我的dockerfile安装php7-mongodb。同样工作到昨天,但今天dockerbuild抛出以下错误

Step 4/12 : RUN apk add php7-mongodb
 ---> Running in b6713ea15c9d
  php7-mongodb (missing):
ERROR: unsatisfiable constraints:
    required by: world[php7-mongodb]
The command '/bin/sh -c apk add php7-mongodb' returned a non-zero code: 1

我尝试在dockerfile中使用apk更新和apk升级,但仍然无法正常工作。知道问题是什么吗?

我使用阿尔卑斯边缘作为基础版本。

我们可以使用以下dockerfile重新创建该问题

FROM alpine:edge
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk upgrade
RUN apk add  php7-mongodb

mongodb docker dockerfile alpine
3个回答
3
投票

tldr:该软件包在3.9中重命名为php7-pecl-mongodb,在以后的版本中不再存在

使用此提交将包重命名为php7-pecl-mongodbhttps://git.alpinelinux.org/aports/commit/?id=b3d534d73c690baf458d9cda5dca5ee52ca9cafc

但由于软件包的非自由许可变更,该软件包在此之后不久被删除:https://git.alpinelinux.org/aports/commit/community/php7-pecl-mongodb/APKBUILD?id=8a901de31fa055ed591d487e12f8bb9ffcc0df21


1
投票

使用Alpine 3.8将为您解决问题。更改

FROM alpine:edge

FROM alpine:3.8

您还需要更改存储库URL,使其指向v3.8。我一直在使用main,所以第二行对我来说就像下面一样。

RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories

我认为/testing不适用于旧版本,因此您需要尝试找出适合您的版本。或者也许其他人可以为我们澄清这一点。

这意味着你没有使用最新的Alpine,但你可以建造容器。


0
投票

根据https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=edge的说法,阿尔卑斯边缘版没有这样的包装。

最新的alpine版本在其回购中有php7-mongodb包似乎是3.8:https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=v3.8

我不能告诉你这个包没有包含在3.9和edge中的原因是什么。但如果这是一个选项,你使用alpine:3.8作为基本图像而不是alpine:edge

© www.soinside.com 2019 - 2024. All rights reserved.