composer install * file_put_contents * не удалось открыть поток - PullRequest
1 голос
/ 11 декабря 2019

У меня есть проект Drupal в репозитории Bit-bucket.

Итак, в каталоге есть piplines.yml, который показывает ниже

# This is a sample build configuration for PHP.
# Check our guides at https://confluence.atlassian.com/x/e8YWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: php:7.3.10

pipelines:
  default:
    - step:
        caches:
          - composer
        script:
          - apt-get update && apt-get install -y unzip libfreetype6-dev libjpeg62-turbo-dev git
          - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
          - docker-php-ext-install -j$(nproc) gd
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - cd docroot
          - composer install
          - vendor/bin/phpcs --config-set installed_paths vendor/drupal/coder/coder_sniffer
          - vendor/bin/phpcs -i
          - vendor/bin/phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md --ignore=node_modules,bower_components,vendor modules/custom
          - vendor/bin/phpcs --standard=DrupalPractice --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md --ignore=node_modules,bower_components,vendor modules/custom

Проблема возникает при установке композиторараздел, который показывает эту ошибку enter image description here

1 Ответ

2 голосов
/ 11 декабря 2019

В соответствии с https://github.com/Chi-teck/drupal-code-generator dcg, к которой относится ваша ошибка, это исполняемый файл, который вам необходимо иметь в вашем проекте ПЕРВЫМ, пожалуйста, убедитесь, что вы установили его в вашем docroot перед запуском установки, или убедитесь, что он является частью ваших зависимостейof composer.json и composer.lock

РЕДАКТИРОВАТЬ: после более глубокого исследования выяснилось, что dcg отслеживался в docroot / vendor dir (потому что он не был gitignored) и передавался как ссылка на файл cygwin dcg.bat. Это не могло работать на образе докера php7.3, и это вызвало все проблемы.

удаление отслеженной папки вендора и добавление docroot/vendor в gitignore решило проблему.

...