Может ли composer генерировать `composer.lock` без фактической загрузки пакетов?

Существует команда для генерации composer.lock из composer.json?

Нечто подобное рубина bundler: $ bundle lock

5 ответов

Если у вас нет composer.lock

Ответ "нет", вы должны сгенерировать файл блокировки, используя:

composer install

Установка без composer.lock

Если вы никогда ранее не выполняли команду, а также отсутствует файл composer.lock, Composer просто разрешает все зависимости, перечисленные в вашем файле composer.json, и загружает последнюю версию их файлов в каталог vendor в вашем проекте.

Источник: getcomposer.org

NB Потенциальная проблема: без файла блокировки компоновщик будет использовать последнюю версию зависимостей.

Если у вас уже есть composer.lock

И композитор жалуется, что он не синхронизирован (не может вспомнить точное предупреждение), тогда вы можете обновить файл блокировки, но это действительно только обновляет хэши в файле:

composer update --lock

Из руководства композитора:

--lock Только обновляет хэш файла блокировки, чтобы подавить предупреждение о том, что файл блокировки устарел.

Запись файла блокировки composer.lockбез пакетов загрузки:

      composer update --no-install

Композитор версии 2.2.5

Эта функция включена в выпуск v2.0, см. Здесь:https://github.com/composer/composer/pull/8669

Невозможно создать файл блокировки без установки или обновления, это сделано специально (благодарность Manish Yadav)

Смысл файла блокировки - записать точные версии, которые установлены, чтобы их можно было переустановить. Это означает, что если у вас есть спецификация версии 1.*, и ваш коллега запускает обновление composer, которое устанавливает 1.2.4, а затем фиксирует файл composer.lock, при установке composer вы также получите 1.2.4, даже если 1.3.0 был выпущен. Это гарантирует, что все работающие над проектом имеют одинаковую точную версию.

Источник: Композитор: это все о блокировке файла

       composer install --ignore-platform-req=ext-fileinfo

решил мою проблему. Это сработало на 100%.

Другие вопросы по тегам