Комментарии 10
Я рекомендую использовать команду rm -rf vendor composer.lock; composer install во время разработки.
это равносильно composer update.
0
Ну все-таки не совсем, есть хуки для инсталляции и для апдейта, они необязательно одинаковы
0
хуки — да. но в контексте сочетания этих двух команд равносильно.
0
Нет, это не так.
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.
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.
+1
vendor не заметил. тем не менее, итог будет один — все пакеты будут обновлены до последних версий. Именно это имелось в виду в рекомендации и именно это произойдет после composer update. А разница "под капотом" очевидно будет, но не имеет отношения к обсуждаемой рекомендации.
0
Упущенная деталь из первоисточника
Все-таки автор оригинальной статьи рекомендует использовать данную комбинацию для сброса состояния приложения, в то время как composer update оперирует текущим состоянием.
as it will reset the application and/or plugin state regularly
Все-таки автор оригинальной статьи рекомендует использовать данную комбинацию для сброса состояния приложения, в то время как composer update оперирует текущим состоянием.
+1
да, но результат должен быть идентичным. просто автор статьи усложнил зачем-то, возможно по не знанию или не пониманию.
0
Especially when you start messing with installation folders!
Я могу лишь предположить, что, т.к. речь идет о создании плагина для composer и работы с директорией vendor (т.е. это тесная работа с самим composer), то может возникнуть ситуация, при которой содержимое composer.lock и vendor/composer/installed.json будет не консистентно тому, что на самом деле лежит в vendor. В таком случае composer update не сбросит "поврежденное" состояние.
Это мое предположение, за реальными объяснениями можно обратиться к автору оригинальной статьи.
+1
Спасибо за дополнение. Добавил в текст
0
Я бы назвал это full reinstall to the latest packages version.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Опьяняющая сила Composer Plugins