Как установить конкретную версию пакета с помощью Composer?
Я пытаюсь установить конкретную версию пакета с помощью Composer. Я использовал команды composer install
и composer require
, но они устанавливают последнюю версию пакета. Как мне установить более старую версию?
5 ответ(ов)
Команда composer require vendor/package:version
используется для добавления зависимости в ваш проект с помощью Composer. Например, чтобы добавить пакет refinery29/test-util
версии 0.10.2
, вам нужно выполнить следующую команду в терминале:
composer require refinery29/test-util:0.10.2
Эта команда обновит ваш файл composer.json
, добавив в него новую зависимость, и установит указанный пакет вместе с его зависимостями. Убедитесь, что вы указываете правильный vendor
(поставщик) и package
(пакет) с версией, чтобы избежать проблем совместимости.
Для использования оператора "^"
в версии при добавлении зависимости в Composer, нужно обернуть версию в двойные кавычки. Вот как правильно написать команду:
composer require middlewares/whoops "^0.4"
Таким образом, вы указываете необходимую версию пакета, и он будет установлен с учётом используемого оператора каретки.
Чтобы добавить пакет в ваш проект с помощью Composer, просто выполните следующую команду:
php composer.phar require doctrine/mongodb-odm-bundle 3.0
Кроме того, вы также можете использовать команду install
, чтобы установить все зависимости, указанные в вашем composer.json
.
Дополнительную информацию можно найти в официальной документации по командам require
и install
:
Если вы хотите установить Laravel Collective, а текущая версия 6.x, но вам необходима версия 5.8, вы можете выполнить следующую команду:
composer require "laravelcollective/html":"^5.8.0"
Хороший пример использования этой библиотеки можно найти в документации по следующей ссылке:
https://laravelcollective.com/docs/5.5/html
Я пытался подключить ветку разработки из другого репозитория, а не последнюю версию, и у меня возникла та же проблема; ничего из вышеперечисленного не сработало для меня 😦
Однако через некоторое время я увидел в документации, что в случае с веткой разработки нужно использовать префикс 'dev-' перед версией, и следующее сработало идеально.
composer require [vendorName]/[packageName]:dev-[gitBranchName]
Как удалить пакет из Laravel с помощью PHP Composer?
UTF-8 на всех уровнях!
Функции startsWith() и endsWith() в PHP
Что такое потокобезопасность и непотокобезопасность в PHP?
Как добавить элементы в пустой массив в PHP?