Bitbucket Pipeline — отсутствует zip расширения PHP

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

Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - Installation request for craftcms/cms 3.1.24 -> satisfiable by craftcms/cms[3.1.24].
    - craftcms/cms 3.1.24 requires ext-zip * -> the requested PHP extension zip is missing from your system.

Я точно не знаю, что мне нужно добавить в мой файл bitbucket-pipelines.yml.

Это мой текущий файл:

image: php:7.2
pipelines:
  branches:
    master:
      - step:
          script:
            - apt-get update && apt-get install -y unzip git rsync zip 
            - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
            - composer install
            - php deploy.php

У этого парня, кажется, похожая проблема, но я не уверен, как он решил. Это расплывчато, и у него также, похоже, есть больше информации о mcrypt: /а>

Если вам интересно, я получил свою конфигурацию из этой предложенной фиксации на fortrabbit.com: https://gist.github.com/ukautz/4f3219c3eb5d97fbd018027dca4b8808

Файл php, который он запускает, находится по ссылке выше, но он еще не достиг этого, поэтому он не имеет отношения к моей проблеме.

Я не совсем уверен, что мне нужно установить, или я просто не вижу реальной проблемы в журнале (например, если где-то есть более подробные журналы, и я не вижу фактической проблемы)


person good_afternoon    schedule 29.04.2019    source источник


Ответы (2)


Я заработал, установив libzip-dev и выполнив команды docker-php-ext-install zip и docker-php-ext-enable zip.

Вот часть моего bitbucket-pipelines.yml:

  step:
    caches:
      - composer
    script:
      - apt-get update && apt-get install -y unzip libzip-dev
      - docker-php-ext-install zip
      - docker-php-ext-enable zip
      - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
      - composer install

Ваш bitbucket-pipelines.yml будет выглядеть так:

image: php:7.2
pipelines:
  branches:
    master:
      - step:
          script:
            - apt-get update && apt-get install -y unzip git rsync zip libzip-dev
            - docker-php-ext-install zip
            - docker-php-ext-enable zip
            - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
            - composer install
            - php deploy.php
person Kevin    schedule 19.02.2020

Я смог пройти это, добавив следующее:

zlib1g-dev после флага -y

а потом эти две строчки

  - docker-php-ext-install zip
  - docker-php-ext-enable zip

До composer install

Это будет запускать установку каждый раз. Если кто-то знает лучший способ, пожалуйста, дайте мне знать

person good_afternoon    schedule 29.04.2019