2012-09-01 17 views
9

Ad esempio, per esempio, si desidera utilizzare un pacchetto da qualcun altro, ma si desidera apportare alcune modifiche. In modo da fare le modifiche in qualche nuovo ramo, e si configura come comspoer.json:Usa compositore senza Packagist

{ 
    "require": { 
     "sylius/assortment-bundle": "dev-soft-deleteable-products-disabled" 
    }, 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "name": "sylius/assortment-bundle", 
       "version": "1.0", 
       "autoload": { "psr-0": { "Sylius\\Bundle\\AssortmentBundle": "" } }, 
       "target-dir": "Sylius/Bundle/AssortmentBundle", 
       "source": { 
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle.git", 
        "type": "git", 
        "reference": "soft-deleteable-products-disabled" 
       } 
      } 
     } 
    ] 
} 

Questo funziona con ramo principale, ma con il ramo su misura dà: The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

Qualche idea?

risposta

28

Si dovrebbe davvero usare un repository VCS invece del repository del pacchetto. Il pacchetto è per quando non c'è compositore.json e vuoi invece specificarlo in linea. Nel tuo caso c'è un composer.json, in modo da poter usare il repo VCS, in questo modo:

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/umpirsky/SyliusAssortmentBundle" 
    } 
] 

Composer sarà in questo caso utilizzare l'API GitHub per andare a prendere i nomi di filiale e verificare se la versione dev-soft-deleteable-products-disabled esiste. Se lo fa, clonerà il repository e controllerà detto ramo.

Speriamo che se lo fai come effetto collaterale anche il tuo problema verrà risolto.

Per ulteriori informazioni leggere i documenti chapter on repositories.

+1

Grazie, ha fatto il trucco. Non sapevo che i repository possono essere definiti così, è fantastico. – umpirsky

+2

Aggiunto un collegamento ai documenti nel caso in cui si desideri leggere di più. – igorw

1

Quando si tenta di fare questo per un repository privato si dovrebbe provare Private Packagist che è un repository compositore come Packagist che permette di inserire i propri repository senza dover renderli pubblici.

Problemi correlati