Как быстро получить список модулей с версиями установленными через Композер?

Аватар пользователя VasyOK VasyOK 1 августа в 22:07

Чтобы потом на тестовом сервере можно было легко сайт развернуть и обновлять какие нужно.
Я использую команду
composer show
но выведеный список все рано нужно довольно много редактировать.

Комментарии

Аватар пользователя vlucas vlucas 1 августа в 22:09

так вы уже имеете всё что нужно, чтобы развернуть: composer.lock composer.json
composer install

Аватар пользователя VasyOK VasyOK 1 августа в 22:16

Ок, и как получить список вида (?):
composer require 'drupal/admin_theme^1.0.0-beta2' 'drupal/admin_toolbar^2.4.0' 'drupal/advagg^4.1.0' 'drupal/allowed_formats^1.3.0'...
или как-то по другому можно?

Аватар пользователя vlucas vlucas 1 августа в 22:18

зачем такой получить?
задача, так понимаю, развернуть, зачем ещё что-то нужно для этого кроме composer install?

Аватар пользователя VasyOK VasyOK 1 августа в 22:20

Т.е. просто перенести файлы
composer.json, composer.lock и выполнить composer install?
А если сайт на 1м композере собран, а я хочу на 2м его пересобрать?

Аватар пользователя vlucas vlucas 1 августа в 22:24

VasyOK wrote:
Т.е. просто перенести файлы
composer.json, composer.lock и выполнить composer install?

именно так!

А если сайт на 1м композере собран, а я хочу на 2м его пересобрать?

а это уже отдельная история, тянущая на другую ветку

Аватар пользователя ivnish ivnish 2 августа в 9:55

VasyOK wrote: А если сайт на 1м композере собран, а я хочу на 2м его пересобрать?

Там не надо ничего пересобирать, ЕМНИП.

Аватар пользователя gun_dose gun_dose 3 августа в 11:08

Переход на второй композер нужен не для того, чтобы сайты были круче, а потому что второй композер работает быстрее. Это как отвёртка и шуруповёрт. Если ты собрал табуретку отвёрткой, а потом у тебя появился шуруповёрт, это не значит, что теперь табуретку надо пересобрать)))

Аватар пользователя gun_dose gun_dose 3 августа в 13:37

При прикручивании спинки шуруповёртом ножки, прикрученные отвёрткой, перекручивать не надо))

Аватар пользователя vlucas vlucas 3 августа в 13:39

а вот это не факт, т.к. придётся некоторые зависимости всё же разрулить

Аватар пользователя VasyOK VasyOK 3 августа в 12:29

Честно - поставил послденюю версию docer4drupal - загрузил на нее composer.json, composer.lock, запустил composer update и все заработало.

Но меня все равно интересует вопрос: ка пересобрать чужой сайт у себя. Например, если я подозреваю, что в composer.json руками что-то неправильно прописано. Неужели мой вопрос настолько странный?

Аватар пользователя ivnish ivnish 3 августа в 12:30

VasyOK wrote: интересует вопрос: ка пересобрать чужой сайт у себя

Что значит пересобрать-то? Какого результата ты хочешь добиться?

Аватар пользователя VasyOK VasyOK 3 августа в 12:33

Хочу добиться получить список типа:
composer require drupal/мобуль1(версия) drupal/мобуль2(версия)...

Аватар пользователя marassa marassa 3 августа в 12:48

Речь о том, чтобы сгенерить composer.json исходя из фактически установленных модулей? Для этого есть (были) два брошенных модуля Друпал (Composerize и Generate Composer) и вроде бы не совсем брошенный, но не факт что актуальный плагин для композера Composerize Drupal.

Аватар пользователя gun_dose gun_dose 3 августа в 13:37

VasyOK wrote: Например, если я подозреваю, что в composer.json руками что-то неправильно прописано.

При запуске команды composer install он скажет тебе, если composer.json и composer.lock не соответствуют друг другу.

Аватар пользователя ivnish ivnish 3 августа в 14:02

Нет. Команда composer install устанавливает всё что записано в composer.lock. А формируется он, например, при запуске composer update

Аватар пользователя vlucas vlucas 3 августа в 14:05

сформируется он даже при composer install, даже если его не существует, но по факту будет выполняться composer update.
честно говоря, тема уже в какой-то дет. сад переходит ))) Просто надо 1 раз разобраться с композером раз и навсегда, по факту пару тройку команд понять и верный процесс

Аватар пользователя gun_dose gun_dose 3 августа в 15:02
1

Его имеет смысл удалять только если уже возникли какие-то проблемы. А так он нужен для того, чтобы устанавливались пакеты той версии, которую ты устанавливал в последний раз, а не та, которая последняя на данный момент. Грубо говоря, если ты вчера локально обновил сайт и у тебя всё работало, а сегодня ты выкладываешь его на продакшн, удалив composer.lock, то какая-то внезапно обновившаяся зависимость может тебе всё сломать.