Композитор вернуть пакеты
Я создаю новое приложение в Symfony 2.1. Я использую много связок, использованных композитором. Многие из этих пакетов имеют проблемы с этой последней версией Symfony, и мне нужно пойти в папку /vendor, чтобы определить проблемы.
Это означает, что я изменяю файлы поставщика напрямую - исключительно для целей тестирования. (Когда мы исправим пакет, мы разветвляемся и отправляем соответствующий запрос на извлечение).
То, что я хочу знать, есть ли какая-то команда, как composer.phar revert
что отменяет любые изменения, сделанные в папке vendor (например, git checkout). На данный момент, если я запускаю композитора update
или же install
это не делает этого.
Спасибо
6 ответов
composer install
Если вы сохранили файл composer.lock, все ваши поставщики вернутся в ранее установленное состояние.
Если вы использовали composer update
ваш composer.lock
изменился на. Поэтому я делаю маленький трюк. возвращаться composer.lock
от git
а потом беги composer install
, Он удалит новейшие пакеты и загрузит предыдущие.
Добавить Discard-изменения к вашему composer.json
файл:
{
"config": {
"discard-changes": true
}
}
Убедитесь, что вы используете последнюю версию Composer.
cd /my/project/location/
rm -rf vendor/my_vendor_to_rollBack
composer install
composer reinstall "*"
удаляет и снова устанавливает все пакеты вvendor
каталог.
Насколько я могу судить, ни один из ответов выше не работает, кроме как в отношении версий. Если вы измените установленную версию, вы можете вернуться к предыдущей версии.
Если вы просто удалите или измените файл, изменение отобразится в composer status -v
, но нет способа вернуться (даже с "discard-changes":true
) за исключением удаления и повторного запроса пакета.