Я намагаюся встановити конкретну версію пакету за допомогою Composer. Я спробував composer install
і , composer require
але вони встановити останню версію пакета. Що робити, якщо я хочу старішу версію?
Я намагаюся встановити конкретну версію пакету за допомогою Composer. Я спробував composer install
і , composer require
але вони встановити останню версію пакета. Що робити, якщо я хочу старішу версію?
Відповіді:
composer require vendor/package:version
наприклад:
composer require refinery29/test-util:0.10.2
Додайте подвійні лапки, щоб використовувати оператор caret у номері версії.
composer require middlewares/whoops "^0.4"
просто використовуйте php composer.phar потрібно
Наприклад :
php composer.phar require doctrine/mongodb-odm-bundle 3.0
Також доступний при встановленні.
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
install
- тільки require
. Якщо ви сподівалися перейти на певну версію та зареєструватися у вашому composer.lock
файлі, ви можете, але вам доведеться скористатися composer require
та повернути зміни composer.json
згодом.
Як згадував @alucic, використовуйте:
composer require vendor/package:version
або ви можете використовувати:
composer update vendor/package:version
Ви, ймовірно, повинні переглянути цю статтю StackOverflow про відмінності між встановленням композитора та оновленням композитора .
Пов’язані з питаннями про номери версій, ви можете переглянути документацію композитора на версії , але коротше:
Отже, з Tilde ви отримаєте автоматичні оновлення виправлень, але незначні та основні версії не оновлюються. Однак якщо ви використовуєте Карет ви отримаєте виправлення та незначні версії, але ви не отримаєте основних (порушуючих змін) версій.
Версія Tilde вважається "безпечнішим" підходом, але якщо ви використовуєте надійні залежності (доглянуті бібліотеки), у вас не повинно виникнути проблем із версією Caret (оскільки незначні зміни не повинні порушувати зміни.
Припустимо, ви хочете встановити Laravel Collective. Зараз він знаходиться у версії 6.x, але потрібно версії 5.8. Ви можете виконати таку команду:
composer require "laravelcollective/html":"^5.8.0"
Хороший приклад наведено тут у документації: https://laravelcollective.com/docs/5.5/html
У своєму composer.json
, ви можете помістити:
{
"require": {
"vendor/package": "version"
}
}
потім запустіть composer install
або composer update
з каталогу, що містить composer.json
. Іноді для мене композитор химерний, тому я розпочну з composer clear-cache; rm -rf vendor; rm composer.lock
того, composer install
щоб переконатися, що він отримує свіжі речі.
Звичайно, як вказують інші відповіді, ви можете запустити наступне з терміналу:
composer require vendor/package:version
А щодо версій:
- Офіційна стаття композитора
- Пошук Ecosia