Sto cercando di installare una versione specifica di un pacchetto usando Composer. Ho provato composer install
e composer require
ma stanno installando l'ultima versione del pacchetto. Cosa succede se desidero una versione precedente?
Sto cercando di installare una versione specifica di un pacchetto usando Composer. Ho provato composer install
e composer require
ma stanno installando l'ultima versione del pacchetto. Cosa succede se desidero una versione precedente?
Risposte:
composer require vendor/package:version
per esempio:
composer require refinery29/test-util:0.10.2
Aggiungi doppie virgolette per utilizzare l'operatore di inserimento nel numero di versione.
composer require middlewares/whoops "^0.4"
basta usare php composer.phar richiede
Per esempio :
php composer.phar require doctrine/mongodb-odm-bundle 3.0
Disponibile anche con installazione.
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
install
- solo con require
. Se speravi di passare a una versione specifica e di effettuare il check-in del tuo composer.lock
file, puoi, ma dovresti usare composer require
e poi ripristinare la modifica in composer.json
seguito.
Come menzionato @alucic, usa:
composer require vendor/package:version
oppure puoi usare:
composer update vendor/package:version
Probabilmente dovresti rivedere questo post StackOverflow sulle differenze tra l'installazione del compositore e l'aggiornamento del compositore .
In relazione alla domanda sui numeri di versione, puoi consultare la documentazione di Composer sulle versioni , ma qui in breve:
Quindi, con Tilde otterrai aggiornamenti automatici delle patch, ma le versioni minori e principali non verranno aggiornate. Tuttavia, se usi Caret otterrai patch e versioni minori, ma non otterrai versioni principali (modifiche non funzionanti).
La versione di Tilde è considerata un approccio "più sicuro", ma se si utilizzano dipendenze affidabili (librerie ben mantenute) non si dovrebbero avere problemi con la versione di Caret (poiché le modifiche minori non devono interrompere le modifiche.
Supponiamo di voler installare Laravel Collective. È attualmente alla versione 6.x ma si desidera la versione 5.8. È possibile eseguire il comando seguente:
composer require "laravelcollective/html":"^5.8.0"
Un buon esempio è mostrato qui nella documentazione: https://laravelcollective.com/docs/5.5/html
Nel tuo composer.json
puoi inserire:
{
"require": {
"vendor/package": "version"
}
}
quindi esegui composer install
o composer update
dalla directory contenente composer.json
. A volte, per me, il compositore è malizioso, quindi inizierò composer clear-cache; rm -rf vendor; rm composer.lock
prima composer install
per assicurarmi che stia ottenendo cose nuove.
Naturalmente, come indicano le altre risposte, è possibile eseguire quanto segue dal terminale:
composer require vendor/package:version
E sul controllo delle versioni:
- Articolo sulle versioni ufficiali del compositore
- Ricerca Ecosia