Удаление Composer для проекта подкаталога (Mac)

В проекте я установил один композитор в этот независимый подкаталог , и у меня есть основной композитор в главном каталоге.

Теперь я настроил карту классов подкаталога composer в основном композиторе, и это работает. Подкаталог composer.json и другие соответствующие файлы композитора больше не требуются.

Я хотел бы правильно удалить/удалить только композитор подкаталога, возможно, похожий на this сообщение.

which composer в обоих каталогах возвращает:

/usr/local/bin/composer

Каковы правильные команды для удаления композитора из подкаталога без случайного удаления главного композитора? Или я просто вручную это делаю?


person Emma    schedule 01.05.2019    source источник
comment
Вы имеете в виду как команду, так и файлы composer.json с использованием композитора, что немного затрудняет понимание того, что вы хотите сделать. Правильно ли я понимаю, что в основном вы хотите иметь только основной composer.json, но он должен обеспечивать все зависимости, автозагрузку и т.д. для основного проекта и подкаталога cron?   -  person dbrumann    schedule 01.05.2019
comment
В этом случае вы можете просто вручную удалить и файл, и папку. Команда composer создает только папку поставщика и папку composer.lock и вносит изменения в папку composer.json. Когда composer.json нет, команда ничего не сделает. Если папки поставщика нет, он будет использовать composer.lock для установки точно таких же версий зависимостей в vendor/ или использовать composer.json для установки новейших версий, а затем создать composer.lock с информацией о том, какие из них были установлены.   -  person dbrumann    schedule 01.05.2019
comment
Поскольку поставщика можно безопасно удалить, а композитор установит те же версии, что и раньше, при наличии composer.lock вам не нужно проверять папку поставщика в git (просто добавьте поставщик/ в файл .gitignore). Это уменьшит размер вашего репозитория, когда вы поделитесь им или проверите его на другом компьютере, и по-прежнему сохраните всю необходимую информацию о версии, поэтому у вас не возникнут проблемы.   -  person dbrumann    schedule 01.05.2019


Ответы (1)


Composer всегда создает/изменяет только 2 файла и папку поставщика в вашем проекте, composer.json и composer.lock из этих двух файлов, которые он знает, какие зависимости устанавливать в папку поставщика. Удаление их — это все, что вам нужно сделать.

Вы можете безопасно удалить папку поставщика, и Composer установит те же версии зависимостей, когда присутствует composer.lock. Если нет composer.lock, он работает в основном как composer update, что означает, что он установит самые новые версии и создаст для них composer.lock.

Если вы удалите все 3, композитор не поймет, что делать, и скажет вам сначала создать composer.json. Это все, что вам нужно, чтобы удалить все, что связано с композитором, из проекта.

person dbrumann    schedule 08.05.2019