Я использую https://github.com/tonix-tuft/grunt-hub-automator (репозиторий, созданный мной на GitHub), который позволяет мне настраивать демона, который запускает следующую команду всякий раз, когда я изменяю свой файл composer.json
или composer.lock
:
composer self-update && composer install --no-dev && composer update --lock
Таким образом, я могу перемещаться по разным ветвям, и демон сохраняет зависимости в vendor
синхронизированными с composer.json
.
Однако, если после добавления новых зависимостей на new_branch я извлекаю old_branch , для которого не определены эти зависимости в composer.json
, потому что я добавил их только на new_branch , демон запускает команду и удаляет зависимости из старой ветки, чтобы синхронизировать все.
Проблема этого подхода состоит в том, что если в этот момент я снова проверяю new_branch до того, как команда composer
закончила свою работу на old_branch (она работает в фоновом режиме благодаря демон), я получаю несинхронизированную папку vendor
, потому что Composer удаляет зависимости, так как считает, что я все еще на old_branch
.
Есть ли способ указать Composer не удалять уже установленные зависимости из vendor
, если они не определены в composer.json
?
В основном, я бы хотел, чтобы Composer установил недостающие зависимости или обновил те, которые определены в composer.json
каждый раз, когда composer.json
изменения , не удаляя возможные зависимости , которые уже были установлены в поставщике, но теперь не определены в composer.json
больше.
Возможно ли это?
Надеюсь, я был чист.
Спасибо за внимание.