Как стать автором
Обновить

Комментарии 10

Я рекомендую использовать команду rm -rf vendor composer.lock; composer install во время разработки.

это равносильно composer update.
Ну все-таки не совсем, есть хуки для инсталляции и для апдейта, они необязательно одинаковы
хуки — да. но в контексте сочетания этих двух команд равносильно.
Нет, это не так.
github.com/composer/composer/blob/1.0.0-beta2/src/Composer/Installer.php#L303
Дальше функции для изучения \Composer\Package\Locker::setLockData, \Composer\Json\JsonFile::write.
composer.lock удаляется только однажды, если выполняется:
`if (empty($lock['packages']) && empty($lock['packages-dev']) && empty($lock['platform']) && empty($lock['platform-dev'])) {`
Тем более не трогается папка vendor.
vendor не заметил. тем не менее, итог будет один — все пакеты будут обновлены до последних версий. Именно это имелось в виду в рекомендации и именно это произойдет после composer update. А разница "под капотом" очевидно будет, но не имеет отношения к обсуждаемой рекомендации.
Упущенная деталь из первоисточника
as it will reset the application and/or plugin state regularly

Все-таки автор оригинальной статьи рекомендует использовать данную комбинацию для сброса состояния приложения, в то время как composer update оперирует текущим состоянием.
да, но результат должен быть идентичным. просто автор статьи усложнил зачем-то, возможно по не знанию или не пониманию.
Especially when you start messing with installation folders!

Я могу лишь предположить, что, т.к. речь идет о создании плагина для composer и работы с директорией vendor (т.е. это тесная работа с самим composer), то может возникнуть ситуация, при которой содержимое composer.lock и vendor/composer/installed.json будет не консистентно тому, что на самом деле лежит в vendor. В таком случае composer update не сбросит "поврежденное" состояние.
Это мое предположение, за реальными объяснениями можно обратиться к автору оригинальной статьи.
Спасибо за дополнение. Добавил в текст
Я бы назвал это full reinstall to the latest packages version.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории