2016-04-20 22 views
9

Ho una struttura di directory in questo modo:Can not Get compositore "percorso" repository per lavorare

composer.json < Main 
    packages/ 
    balunker/ 
     testpackage/ 
     composer.json < Package 
     src/ 
      TestPackage.php 

Il principale composer.json assomiglia a questo:

{ 
    "name": "vagrant/composer-test", 
    "repositories": [ 
     { 
      "type": "path", 
      "url": "packages/*/*" 
     } 
    ], 
    "require": { 
     "balunker/testpackage": "*" 
    } 
} 

mentre il pacchetto composer.json sembra così :

{ 
    "name": "balunker/testpackage", 
    "autoload": { 
    "psr-4": { 
     "Balunker\\": "src/" 
    } 
    } 
} 

Su composer update Ho un messaggio che il pacchetto co non essere risolto Nessun collegamento simbolico viene creato e nessun pacchetto è installato. Ho letteralmente passato metà della mia giornata a capirlo, senza alcun successo.

Ho anche caricato un output dettagliato di: http://pastebin.com/mMRHsACk.

La mia versione di compositore è l'ultima (dal 20 aprile 2016 alle 14:39 UTC) e tutto questo è in esecuzione all'interno di Vagrant (Debian).

QUALSIASI raccomandazione da qui è molto apprezzata. Non so davvero cos'altro fare di più.

risposta

22

Ho pubblicato il problema anche su Github e si scopre che la documentazione è un po 'fuorviante. Si dice:

{ 
    "repositories": [ 
     { 
      "type": "path", 
      "url": "../../packages/my-package" 
     } 
    ], 
    "require": { 
     "my/package": "*" 
    } 
} 

Tuttavia, se si dispone di un repo locale senza uscite, è necessario utilizzare:

{ 
    "repositories": [ 
     { 
      "type": "path", 
      "url": "../../packages/my-package" 
     } 
    ], 
    "require": { 
     "my/package": "dev-master" 
    } 
} 

La versione dev-master è la chiave qui (dato che si sta lavorando sul master ramo). Questo è stato leggermente esasperante, ma grazie ad alcuni utili collaboratori del compositore, ho potuto finalmente ottenere una presa su questo.

Spero che questo possa aiutare qualcuno in futuro.

Buona fortuna!

+1

Per me, il trucco era aggiungere ['" minimum-stability ":" dev "'] (https://getcomposer.org/doc/04-schema.md#minimum-stability) al mio compositore.json file –

+1

@BradKent Scorri molto dall'uso del '" minimum-stability ":" dev "cosa che significa: vuoi da tutte le dipendenze l'ultima versione instabile. Il prefisso 'dev-' o '-dev' cambierà solo questo per il pacchetto in questione. – Nemo64

+0

Finché hai anche "prefer-stable": true', stai bene. Utilizzerà i pacchetti dev solo quando necessario per soddisfare una dipendenza. – hackel

Problemi correlati