В чем разница между composer update
и composer install
?
В чем разница между обновлением композитора и установкой композитора?
Ответ 1
обновление композитора
composer update
обновит ваши зависимости, как они указаны в composer.json
Например, если вам нужен этот пакет как зависимость:
"mockery/mockery": "0.9.*",
и вы действительно установили версию пакета 0.9.1
, запуск composer update
приведет к обновлению этого пакета (например, до 0.9.2
, если он уже выпущен)
подробно composer update
будет:
- Прочитайте
composer.json
- Удалить установленные пакеты, которые больше не требуются в
composer.json
- Проверьте наличие последних версий ваших необходимых пакетов
- Установите последние версии ваших пакетов
- Обновить
composer.lock
для сохранения версии установленных пакетов
установка композитора
composer install
ничего не обновит; он просто установит все зависимости, указанные в файле composer.lock
Подробнее:
- Проверьте, существует ли файл
composer.lock
(если нет, запуститеcomposer-update
и создайте его) - Прочитайте
composer.lock
файл - Установите пакеты, указанные в файле
composer.lock
Когда устанавливать и когда обновлять
-
composer update
в основном используется в "фазе развития", чтобы обновить наши пакеты проектов в соответствии с тем, что мы указали в файлеcomposer.json
, -
composer install
в первую очередь используется в "фазе развертывания" для установки нашего приложения на производственном сервере или в тестовой среде с использованием тех же зависимостей, хранящихся в файле composer.lock, созданных при обновлении композитора.
Ответ 2
Когда вы запустите установку композитора, он будет искать файл блокировки и установить все, что содержится в нем, если он не сможет найти его, он будет читать composer.json, установить его зависимости и создать файл блокировки.
Когда вы запускаете обновление для композитора, он просто читает composer.json, устанавливает зависимости и обновляет файл lockfile (или создает новый файл блокировки).
Ответ 3
Запуск composer install
будет:
- Проверьте, существует ли
composer.lock
. - Если нет, выполните
composer update
, чтобы создать его. - Если существует
composer.lock
, установите указанные версии из файла блокировки.
Запуск composer update
будет:
- Отметьте
composer.json
. - Определите последние версии для установки на основе спецификаций вашей версии.
- Установите последние версии.
- Обновить
composer.lock
, чтобы отобразить последние версии.
Источник: Композитор: все о файле блокировки