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

Как заставить композитора переустановить библиотеку?

Я использую приложение скелета ZF2, и у него есть .gitignore, который запрещает использование внешних библиотек в git. Во время отладки я хотел бы пойти и изменить материал здесь и там в источнике библиотек, чтобы узнать, как все работает. Если бы они контролировались версией, было бы очень легко вернуть их обратно в исходное состояние.

Как я могу заставить Composer переустановить конкретную структуру, чтобы снова получить новую -немодифицированную копию?

PS: Пожалуйста, не предлагайте удалить файл .gitignore, так как он есть по какой-либо причине; он не позволяет моим сторонним библиотекам попасть в мой репозиторий приложений. Я всегда могу установить их во время автоматического развертывания.

4b9b3361

Ответ 1

Вы можете использовать флаг --prefer-source для композитора для проверки внешних пакетов с информацией VCS (если таковые имеются). Вы можете просто вернуться к исходному состоянию. Также, если вы выдаете команду composer update, композитор обнаружит любые изменения, сделанные вами локально, и спросите, хотите ли вы их отменить.

Ваш файл .gitignore связан с вашим корневым проектом (скелетом ZF2), и он не позволяет поставщику dir (где ваши сторонние библиотеки) переходить к вашей собственной VCS. Файл игнорирования не связан с репо git ваших поставщиков.

Ответ 2

Просто очистите папку поставщиков

rm -rf vendor/*

Ответ 3

Что я сделал:

  • Удалена эта папка библиотеки
  • composer update --prefer-source vendor/library-name

Он снова получает библиотеку вместе с ней git repo

Ответ 4

Я не хотел удалять все пакеты в каталоге vendor/, так вот как я это сделал:

  • rm -rf vendor/package-i-messed-up
  • composer install снова

Ответ 5

Переустановите зависимости. Удалите папку vendor (вручную) или с помощью команды rm (если вы находитесь в папке проекта, обязательно) в Linux до:

rm -rf vendor/

composer update -v

https://www.dev-metal.com/composer-problems-try-full-reset/

Ответ 6

Как указал пользователь @aaracrr в комментарии к другому ответу, вероятно, лучший ответ - повторно запросить пакет с тем же ограничением версии.

то есть.

composer require vendor/package

или указание ограничения версии

composer require vendor/package:^1.0.0