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

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

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

Комментарии

Ок, и как получить список вида (?):
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'...
или как-то по другому можно?

1 августа 2021 в 22:16

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

1 августа 2021 в 22:18

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

1 августа 2021 в 22:20

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

именно так!

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

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

1 августа 2021 в 22:24

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

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

2 августа 2021 в 9:55

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

3 августа 2021 в 11:08

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

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

3 августа 2021 в 12:29

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

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

3 августа 2021 в 12:30

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

3 августа 2021 в 12:48

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

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

3 августа 2021 в 13:37

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

3 августа 2021 в 14:02

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

3 августа 2021 в 14:05

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

3 августа 2021 в 15:02