2013-03-10 15 views
6

Scenario: Sto lavorando con Symfony 2.2. Nel mio elenco di pacchetti richiesti è anche uno dei miei repository github, chiamiamolo "TestLib".Come clonare il repository con Composer senza --prefer-source? (usando Symfony 2)

So che posso definire l'URL github come repository aggiuntivo nel compositore.json di Symfony per scaricare "TestLib" tramite Composer di Github.

Problema: non riesco a eseguire il commit nel repository "TestLib" poiché non esiste una directory locale .git nella directory "TestLib". Suppongo che il compositore stia recuperando una zip da Github e non la clonazione.

Quindi la mia domanda è: c'è un modo per specificare nel compositore.json di Symfony che il compositore dovrebbe clonare TestLib?

Domanda 2: Forse il mio flusso di lavoro è sbagliato, quindi se si dispone anche di questo scenario, come gestirlo?

+0

Perché stai escludendo --prefer-source come possibile soluzione? – Gerry

+1

Mi sono appena imbattuto in questa domanda dopo una ricerca su Google per un problema che stavo avendo. La mia ipotesi è che l'autore non voglia afferrare la fonte per tutto, ma solo per TestLib in quanto questo è il problema che sto attualmente avendo. Wow, andando a rispondere a una domanda solo per scoprire che sei stato tu a chiederlo un mese fa, è un pazzesco stackInception – Gerry

risposta

12

Aggiunta di @dev alla versione del pacchetto clona anche il repository.

{ 
    "require": { 
    'package': '*@dev' 
    } 
} 

'anche possibile l'installazione source come preferenza nel composer.json

{ 
"config": { 
    "preferred-install": "source" 
} 
} 
+0

rimuovere prima, aggiornare il compositore, eseguire di nuovo 'compositore update' – Ruben

12

Che cosa faccio in genere se noto che un fornitore ha un problema è rm -rf vendor/foo/bar per rimuoverlo e quindi eseguo composer install --prefer-source per riaverlo come repo git.

+0

ma poi ottieni ogni pacchetto come fonte, abbiamo bisogno di un modo per specificare perfer-source su un singolo pacchetto aggiunto alla sezione require di composer.json – malhal

0

Quello che ho fatto è stato aggiungere il mio github repo a packagist.org poi ho fatto questo:

composer require malhal/createdby dev-master --prefer-source 

questo sembra aggiungere la riga require a composer.json e anche ottenerlo come un repository git, sfortunatamente questo funziona solo una volta così se non si fosse in grado di riutilizzare il compositore.json per un nuovo i nstall e avrebbe bisogno di cancellare la riga require e quindi ricordarsi di fare di nuovo lo stesso comando. Questo comando scarica anche il repository git che non devi fare un altro aggiornamento del compositore.

Problemi correlati