Не могу установить расширение php7.2-ldap в Laradock

Я пытаюсь установить php7.2-ldap в Ларадоке и я поставил

WORKSPACE_INSTALL_LDAP=true

а также

PHP_FPM_INSTALL_LDAP=true

а затем пытается построить изображение как

docker-compose build workspace

И я получаю это сообщение об ошибке. Часть журнала

The following NEW packages will be installed:
php7.2-ldap
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 23.1 kB of archives.
After this operation, 101 kB of additional disk space will be used.
Err:1 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 php7.2-ldap amd64 7.2.4-1+ubuntu16.04.1+deb.sury.org+1
404  Not Found
E: Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.2/php7.2-ldap_7.2.4-1+ubuntu16.04.1+deb.sury.org+1_amd64.deb 404  Not Found

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ERROR: Service 'workspace' failed to build: The command '/bin/sh -c if [ ${INSTALL_LDAP} = true ]; then     apt-get install -y libldap2-dev &&     apt-get install -y php${PHP_VERSION}-ldap ;fi' returned a non-zero code: 100

Что здесь происходит и почему я не могу установить это?

0

Решение

Я отвечаю на свой вопрос.

Это было исправлено добавлением

apt-get update -yqq && \

до

apt-get install -y libldap2-dev && \

в workspace/Dockerfile а также php-fpm\Dockerfile,

Полный блок будет выглядеть так:

Файл: workspace\Dockerfile

###########################################################################
# LDAP:
###########################################################################

ARG INSTALL_LDAP=false
ARG PHP_VERSION=${PHP_VERSION}

RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php${PHP_VERSION}-ldap \
;fi

Почему это случилось?
Цитата из Github вопрос:

Похоже, что здесь происходит, что есть несколько подходящих
Команды установки для нескольких пакетов вызываются, пока локальные
Пакет репо не синхронизирован с пультом. В интерактивном
среда, это будет видно пользователю и соответствующему apt-get
обновление будет запущено. Однако Dockerfile не содержит никаких
Команды обновления репозитория, так как текущий слой имеет
другой список репозитория пакетов, чем удаленный. Это вообще то
«проблема» со слоями докеров, так как они будут использоваться повторно, если их команда
не изменилось (что-то мне тоже пришлось выучить трудным путем).

От: Филипп Темпель

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]