Come posso installare il pacchetto nel compositore senza dipendenza
-
21-12-2019 - |
Domanda
Sto usando composer
con symfony php
.
C'è un bundle A
che ha dipendenza da un altro bundle B v 1.1
.
Ma ho l'ultima versione di bundle B v 2
.
Ora voglio installare bundle A
senza installare la sua dipendenza bundle B v 1.1
.
Come procedo?Si prega di suggerire.
Soluzione
Setup:
L'ultima versione Ladybug-Bundle è 1.0.2
ma nel frattempo è stato un po 'più di commit. Richiede la versione Ladybug è 1.0.8
che non include le ultime modifiche ASWELL.
Soluzione:
Una soluzione facile utilizzerebbe un inline-alias . Qualcosa come:
"require" : {
"raulfraile/ladybug-bundle": "dev-master as 1.0.3"
"raulfraile/ladybug": "dev-master as 1.0.9"
}
.
Alternativa:
È possibile definire un pacchetto con lo stesso nome nel compositore.json che include la dipendenza alterata.
Basta copiare la definizione del pacchetto dal pacchetto originale, aggiungere le posizioni di dist / sorgente e modificare i requisiti.
Compositore utilizzerà questa nuova definizione del pacchetto perché seleziona la prima partita da tutti i repository noti (I packagist è sempre interrogato per ultimo).
Dovresti scegliere un commit specifico per il dist-zip. Un esempio:
"repositories": [
{
"type": "package",
"package": {
"name": "raulfraile/ladybug-bundle",
"version": "1.0.3",
"require": {
"raulfraile/ladybug" : "~1.0@dev"
},
"dist": {
"url": "https://github.com/raulfraile/LadybugBundle/archive/5c3739a881313f63f7b47ace49af5deeed211362.zip",
"type": "zip"
},
}
}
],
.
Ora richiede "raulfraile/ladybug-bundle": "~1.0"
nel tuo compositore.json e utilizzerà la versione 1.0.3
che hai definito.