Не удается установить php7-mongodb в альпийском Linux - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь установить php7-mongodb с моим dockerfile. То же самое работало до вчерашнего дня, но сегодня 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

Я пытался с apk update и apk upgrade в файле dockerfile, но все еще не работает. есть идеи в чем проблема?

Я использую альпийский край в качестве базовой версии.

Мы можем воссоздать проблему, используя следующий файл 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

Ответы [ 3 ]

3 голосов
/ 08 апреля 2019

tldr: пакет переименован в php7-pecl-mongodb в 3.9 и более не существует в более поздних выпусках

Пакет был переименован в php7-pecl-mongodb с этим коммитом: https://git.alpinelinux.org/aports/commit/?id=b3d534d73c690baf458d9cda5dca5ee52ca9cafc

Но пакет был удален вскоре после этого из-за несвободного изменения лицензии пакетом: https://git.alpinelinux.org/aports/commit/community/php7-pecl-mongodb/APKBUILD?id=8a901de31fa055ed591d487e12f8bb9ffcc0df21

1 голос
/ 10 апреля 2019

Использование 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 голосов
/ 05 апреля 2019

Согласно https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=edge в версии Alpine Edge такого пакета нет.

Последняя версия Alpine с пакетом php7-mongodb в репозиториях выглядит как 3.8: https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=v3.8

Я не могу сказать вам, по какой причине этот пакет не содержится в 3.9 и версии.Но если это вариант, используйте alpine:3.8 в качестве базового изображения вместо alpine:edge

...