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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top