2013-01-10 4 views
14

Ich möchte sicher Komponist machen ist eine exakte Version eines Git-Repository durch die SHA1 des begehen specifing. Wie kann ich das machen?Wie mache ich einen Composer, um einen genauen SHA1-Wert zu verwenden?

Ich habe gerade versucht, den SHA1-Code setzen in die Versionszeichenfolge, aber das funktioniert nicht:

[UnexpectedValueException]             
Could not parse version constraint a93cbe224a6922f181f55c7a35bde0cf61a6a5a4 

Antwort

32

Sie können es nach der Version angeben, die als solche (vorausgesetzt, Sie den Master-Zweig wollen): "dev-master#a93cbe224"

Lesen Sie mehr über Anforderungen im composer docs

+0

Funktioniert das noch? Das kann ich nicht installieren: '{ "erforderlich": { "beleuchten/support": " 4.1 *" "mikemclin/wp-Passwort": "dev-master # 68b68ca" } }' ('mikemclin/wp-password' dev-Master erfordert' beleuchten/Support' 4.2, aber es ist 4.1 bei [68b68ca] (https://github.com/mikemclin/laravel-wp-password/blob/68b68ca1593411a6c51974f194fac9f6665cb2ca/composer.json)) –

+1

Siehe die blaue Notiz unter https://getcomposer.org/doc/04-schema.md#package-links (scrolle ein wenig runter), es erklärt, warum das nicht funktioniert. Es ist nur eine technische Einschränkung der Funktion # sha1. – Seldaek

+0

Danke. Oh, diese kleinen Notizen, die wir immer vergessen zu lesen :) Also müssen wir bei diesem Commit einen Zweig erstellen (oder den Repo auslagern, wenn wir keinen Zugriff darauf haben), wenn sich 'composer.json' des Pakets seit diesem Commit geändert hat zur Zeit? –

1

Für Drupal Sachen, können Sie Dinge wie dies tun, wenn Sie zu einem bestimmten Release anheften möchten:

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

Die -unstableN Stil Drupal-Tags sind auf packagist nicht zur Verfügung.