Приветствую.
При установке компосером на этапе скачивания drupal/coder (8.3.4): Cloning 0a274321f4 возникает следующая ошибка и установка прерывается.
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "git clone --no-checkout 'https://git.drupal.org/project/coder.
git' '/var/www/u0109373/data/www/work.seobro.pro/vendor/drupal/coder' && cd
'/var/www/u0109373/data/www/work.seobro.pro/vendor/drupal/coder' && git re
mote add composer 'https://git.drupal.org/project/coder.git' && git fetch c
omposer" exceeded the timeout of 300 seconds.
С чем это может быть связано? версия компосер последняя. В прошлом проекте было тоже самое. Решил проблему убрав из команды по-моему -dev
Комментарии
Похоже, что ваш сервер не справляется с нагрузкой
а есть какие то способы решения этой проблемы? если это в ней дело конечно.
Здесь успешно решают проблему очисткой кеша и установкой большего значения COMPOSER_PROCESS_TIMEOUT.
В документации так же есть информация о параметре.
не помогло. Просто повисает на этапе drupal/coder (8.3.4): Cloning 0a274321f4
помогает лишь установка параметра --no-dev.
Не скажете на что это влияет и урезает ли какую то функциональность?
но при установке компосером какого-либо модуля все равно подгружаются недостающие модули, в том числе drupal/coder и так же все повисает((
Связался с хостером. И вправду проблема была в сервере. Их ответ:
«Данная ошибка связана с нехваткой памяти. На тарифных планах линейки Host установлен лимит на максимальный размер памяти для каждого из процессов равный 1Гб...»
Видимо придется думать о смене хостинга.
А в чём профит разрабатывать сайт сразу на хостинге? Я замечал, что на многих даже довольно неплохих хостингах оказывается недостаточно ресурсов для выполнения команд composer update и composer require. Поэтому эти команды обычно выполняются локально, а на хостинге уже запускается composer install, т.к. при наличии composer.lock эта команда не требует столько ресурсов.
Для меня разрабатывать сразу на хостинге удобно из-за возможности делать это из разных мест(работа, дом) с разных машин.
Замечу, с вами я не спорю, а только выражаю свою точку зрения. Я знаю ваш уровень и свой. В споре нет никакого смысла, поэтому буду благодарен за поправки и указание верного пути.
В сложившейся ситуации у меня есть несколько вопросов:
1. Composer - это не только менеджер зависимостей, но и удобное средство обновления ядра и модулей. Если хостинг не тянет разворачивание друпала, то потянет ли update?
2. Если потянет, то возможно ли развернуть сайт локально и продолжать разработку на хостинге?
3. Если да, то какой сервер лучше. Можно ли на Винде или Линукс?
4. Про composer install не особо понял порядок действий. Допустим сайт готов локально. Как этой командой мы его перенесём на хостинг.
5. И пользуясь случаем спрошу. Установка друпала заливаем ядра по фтп и установкой в браузере ( когда структура отличается от установки компосером) это уже моветон?
Ниже вам уже ответили. От себя добавлю только, что composer update и composer require очень прожорливы по ресурсам в первую очередь из-за того, что нужно опросить кучу репозиториев, высчитать все зависимости, совместимость зависимостей между собой, на основе этого определить, какие именно версии пакетов нужно загружать и только после этого приступить к загрузке. А когда есть composer.lock, то при composer install просто скачиваются указанные версии, то есть основная нагрузка в таком случае - это сетевое взаимодействие. Сейчас вам не хватило гига памяти (а это довольно большой лимит), но композер - такая штука, что при каких-то условиях может не хватить и 2гб и т.д. Плюс эти операции выполняются очень долго. Я, например, когда запускаю composer update, иду заваривать чай))) А когда вы будете выполнять это на продакшене с какой-никакой посещаемостью, может оказаться так, что сайт 15-20 минут будет недоступен, что не всегда допустимо.
Спасибо еще раз) теперь более менее все прояснилось. Начну освоение докера и гита, чтобы разворачивать сайты локально. Единственное с системным окружением не могу определиться - win10 или Linux.
В линуксе докер работает нативно и поэтому намного быстрее. А производительность в данном случае имеет значение
Значит предпочтение стоит отдавать все-таки линуксу. Хорошо, а скажите пожалуйста, если на одной из машин нет возможности установить ни то, ни другое. Возможна ли локальная разработка на этой машине? Удастся ли как-то синхронизировать с гитом последнюю версию сайта?
Я не понял вопроса, если честно
Вы ранее писали, что докер и гит позволяет вести разработку с нескольких машин. Так вот, у меня ситуация такая, что на одну из машин, на которой я веду разработку, не могу поставить ни вин10, ни линукс. Вопрос в том, что смогу ли я эту машину использовать как-то без докера, для локальной работы над сайтом?
А какая ОС на этой машине? MacOS? DOS?
XP))
Ну дак ХР - это не приговор)
Можете поставить OpenServer. Туда можно вкорячить и git и composer и даже drush. Правда неудобно будет скрипты писать для автоматизации деплоя
То есть на разных машинах разные среды разработки это возможно. Это и хотел узнать) Сори за глупые вопросы - гит для меня еще совсем не исследован. Буду копать! Спасибо)
Да. Просто докер сейчас наиболее удобная и производительная среда. Но никто не мешает вам использовать любую другую
Не согласен в корне. ХР - это именно приговор. Интересный факт: в следующем году людей, которые родились в один день с первой версией виндоус хр, начнут забирать в армию ? Когда создавалась виндоус хр, не было ни пхп7, ни пхп5, ни докера, ни композера, ни даже гита! Кроме того, 32-битная система никогда не увидит больше трёх гигов оперативки. Я уже не говорю о том, что большинство современных браузеров либо вообще не встанут на икспишку, либо будут дичайше глючить и тормозить.
А ещё XP и некоторые конфиги SSL несовместимы
Не аргумент. Я тоже разрабатываю с разных машин, но на каждой у меня docker4drupal с актуальными файлами из приватного gitlab репозитория. Хостинг же можно использовать для тестирования после разработки, как dev-сервер.
Ответ тот же, что и на первый вопрос. Если будете разрабатывать на локалке, то на хостинге нужно убдет запускать всего лишь composer install. Эта команда жрет на порядок меньше ресурсов.
Можно и на хостинге разрабатывать, главное загружать измененные файлы в гит репозиторий, чтобы потом их можно было скачать на другую машину
Винда не очень подходит для разработки в принципе. Но если очень хочется, то можно
Для переноса измененных файлов на хостинг лучше использовать git. А composer install запускает скачивание архивов исходя из файла composer.lock. А формирует этот файл как раз таки команда composer update/require и тд. Т.е. самую ресурсоемкую работу вы будете делать на локалке.
Да
посмотрите первые видео Никлана, там как раз про установку docker4drupal и работу с composer https://www.youtube.com/channel/UCtrxYnRQunkn-sr82lCmTOg/videos
Спасибо вам и всем остальным за развернутые ответы. Видимо наконец-то пришло время освоить докер и гит, а то все никак руки не доходили.