2012-05-21 16 views
48

Supponiamo che sto scrivendo una libreria A, che dipende da un'altra libreria, monolog per esempio.: come trovare la versione esatta di un pacchetto?

voglio installare l'ultima versione di monologo, così ho messo questo composer.json all'interno:

{ 
    "require": { 
     "monolog/monolog": "*.*.*" 
    } 
} 

Poi corro $ php composer.phar install.

mi aspettavo di trovare la versione installata, all'interno composer.lock, ma non è lì:

{ 
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009", 
    "packages": [ 
     { 
      "package": "monolog/monolog", 
      "version": "dev-master", 
      "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7" 
     } 
    ], 
    "packages-dev": null, 
    "aliases": [ 

    ], 
    "minimum-stability": "dev", 
    "stability-flags": [ 

    ] 
} 

Ho bisogno della versione perché voglio legare la mia libreria a un insieme specifico di versioni, ad esempio: Se trovo la versione è 1.3.5, nel mio composer.json vorrei mettere qualcosa di simile:

"require": { 
     "monolog/monolog": "1.3.*" 
    } 

Tutte le idee?

risposta

-1

Li puoi trovare su github.

Composer è attualmente in 1.1.0 https://github.com/Seldaek/monolog/tags

Basta prendere il tag si pensa è quello che vi serve per avere.

+3

Il richiedente vuole sapere quale versione della libreria è stato installato dal compositore nel suo progetto, non è l'ultima versione di una biblioteca. – aalaap

1

Tecnicamente "dev-master" è la versione esatta che è stata utilizzata qui. È il ramo di sviluppo e quindi la versione più recente.

Il posto migliore per cercare le versioni disponibili per i pacchetti di compositore è Packagist poiché questo è il posto in cui il compositore carica le versioni da quando si installano i pacchetti. Le versioni monolog sono elencate su http://packagist.org/packages/monolog/monolog.

99

so che è una vecchia questione, ma ...

composer.phar show 

mostrerà tutti i pacchetti installati e la loro informazioni sulla versione. (Questo è stato dimostrato nelle precedenti versioni di Compositore solo quando si utilizza l'opzione di ora-deprecato -i.)

Per maggiori dettagli, specificare il nome del pacchetto così:

composer.phar show monolog/monolog 

che mostrerà molte cose , incluso commit hash MD5, URL sorgente, tipo di licenza, ecc.

+9

'php composer.phar show -a' e' php composer.phar show package/name' sono entrambi utili. – bishop

+0

Per i pacchetti 'dev-master', questo è utile, perché mostra anche l'hash del commit. Quindi devi andare su GitHub, trovare l'hash di commit, controllare la data e poi trovare il tag con la data più vicina prima, per scoprire veramente quale "versione" stai usando – andrewtweber

+1

può anche essere trovata in composit.lock file. – Hafiz

1

È una domanda molto vecchia, ma aggiungendo una risposta in modo che possa aiutare qualcuno, , è possibile anche verificarlo online caricando composer.josn e componi.lock file

http://www.drcomposer.com

Spero che questo possa aiutare qualcuno.

5

È possibile utilizzare compositore spettacolo come questo:

composer show package/name 
+0

Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/17661951) –

Problemi correlati