2013-01-10 11 views
14

Voglio assicurarmi che il compositore stia utilizzando una versione esatta di un repository git specificando lo SHA1 del commit. Come posso fare questo?Come rendere il compositore utilizzare un valore SHA1 esatto?

ho provato solo mettendo il codice SHA1 nella stringa di versione, ma questo non funziona:

[UnexpectedValueException]             
Could not parse version constraint a93cbe224a6922f181f55c7a35bde0cf61a6a5a4 

risposta

32

è possibile specificarlo dopo la versione, in quanto tale (supponendo che si desidera ramo principale): "dev-master#a93cbe224"

per saperne di più sui requisiti del composer docs

+0

Funziona ancora? Non posso installare questo: '{ "richiedono": { "illuminare/support": " 4.1 *", "mikemclin/wp-password": "dev-master # 68b68ca" }} ' ('mikemclin/wp-password' dev-master richiede' illuminate/support' 4.2, ma è 4.1 a [68b68ca] (https://github.com/mikemclin/laravel-wp-password/blob/68b68ca1593411a6c51974f194fac9f6665cb2ca/composer.json)) –

+1

Vedere la nota blu su https://getcomposer.org/doc/04-schema.md#package-links (scorrere verso il basso un po '), spiega perché questo non funziona. È solo una limitazione tecnica della funzione # sha1. – Seldaek

+0

Grazie. Oh, quelle piccole note ci dimentichiamo sempre di leggere :) Quindi dobbiamo creare un ramo a quel commit (o forgiare il repository se non abbiamo accesso ad esso) se 'composer.json' del pacchetto è cambiato da quel commit per adesso? –

1

per Drupal roba, si possono fare cose come questa, se si vuole appuntare ad una specifica versione:

composer require --dev drupal/rules:8.3.x-dev#f089923e84fdbc81f4101a684a3f1418ff1da51e 

I tag Drupal in stile -unstableN non sono disponibili su packagist.

Problemi correlati