Как заставить composer переустановить библиотеку?
Я использую приложение ZF2 skeleton, и в нем есть .gitignore, который предотвращает передачу внешних библиотек в git. Во время отладки мне нравится ходить и менять кое-что здесь и там в источнике библиотек, чтобы узнать, как все работает. Если бы они управлялись версиями, было бы очень легко вернуть их в исходное состояние.
Как я могу заставить Composer переустановить определенную платформу, чтобы я мог снова получить свежую - неизмененную - копию?
PS: Пожалуйста, не надо предложите удалить файл .gitignore, так как он существует не просто так; это предотвращает попадание моих сторонних библиотек в репозиторий моего приложения. Я всегда могу установить их во время автоматического развертывания.
4 answers
Вы можете использовать флаг --prefer-source
для composer для проверки внешних пакетов с информацией VCS (если таковая имеется). Вы можете просто вернуться в исходное состояние. Также, если вы выполните команду composer update
, composer обнаружит любые изменения, внесенные вами локально, и спросит, хотите ли вы их отменить.
Ваш файл .gitignore связан с вашим корневым проектом (скелет ZF2), и он не позволяет директории поставщика (где находятся ваши сторонние библиотеки) привязываться к вашим собственным VCS. Файл игнорирования является не имеет отношения к репозиториям git ваших поставщиков.
Просто очистите папку поставщиков
rm -rf vendor/*
Что я сделал:
- Удалил папку этой конкретной библиотеки
composer update --prefer-source vendor/library-name
Он снова извлекает библиотеку вместе с репозиторием git
Я не хотел удалять все пакеты в каталоге vendor/
, поэтому вот как я это сделал:
rm -rf vendor/package-i-messed-up
-
composer install
снова