Sto cercando di installare una versione specifica di un pacchetto usando Composer. Ho provato composer installe composer requirema 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 installe composer requirema 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.lockfile, puoi, ma dovresti usare composer requiree poi ripristinare la modifica in composer.jsonseguito.
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.jsonpuoi inserire:
{
"require": {
"vendor/package": "version"
}
}
quindi esegui composer installo composer updatedalla directory contenente composer.json. A volte, per me, il compositore è malizioso, quindi inizierò composer clear-cache; rm -rf vendor; rm composer.lockprima composer installper 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