Разработка с composer с первого взгляда выглядит как нечто дико непонятное, особенно, когда сталкиваешься с проблемами разрешения конлфиктов/зависимостей и т.п. Это происходит до тех пор, пока не начнешь вникать. А когда начинаешь вникать, понимаешь насколько это глобальный, мощный и полезный инструмент. Тут несколько полезных для меня вариантов использования дабы не забыть (а значит будет пополняться)
Как внести правки в пакет, который уже установлен в системе:
- 
в
composer.jsonустанавливаем версию разработки, напримерdev-master(которая может служить алиасом на другую ветку для разработки) - 
обновим зависимость с использованием исходного кода, дабы можно было использовать контроль версий и отправить изменения в git:
composer upgrade --prefer-source repository/package-name - 
Теперь в папке с модулем можно вносить изменения и коммитить в репозиторий
 - 
После изменений необходимо установить необходимую версию и обновить пакет:
composer update repository/package-nameБывает, что при выполнении этих команд в папке не появляется
.git, в этом случае можно попробовать переименовать (удалить) папку с пакетом и запустить снова команду обновления —composer update --prefer-source repository/package-name 
Установка зависимостей (vendor) без установки composer (глобально)
Для установки можно использовать
docker run --rm --interactive --tty \
  --volume $PWD:/app \
  composer {{COMMAND}}
Либо, когда установку блокируют различные зависимости, которых нет в образе можно использовать ключи --ignore-platform-reqs --no-scripts
docker run --rm --interactive --tty \
  --volume $PWD:/app \
  composer install --ignore-platform-reqs --no-scripts
Источники
- Command-line interface / Commands — Composer
 - Composer — Official Image | Docker Hub
 - PHP extension unavailable to composer container in docker-compose — Stack Overflow