wake-up-neo.net

Carthage: Wie erhalte ich die aktuellste Version eines bestimmten Repositorys?

Die Cartfile-Dokumentation macht die Behauptung:

Wenn keine Versionsanforderung angegeben ist, ist jede Version der Abhängigkeit zulässig.

mit dem widersprüchlichen Beispiel:

# Use the latest version
github "jspahrsummers/xcconfigs"

Darüber hinaus wird nicht angegeben, aber aus dem Test schließe ich, dass "latest" tatsächlich die Version des neuesten Tags ist. Ist diese Interpretation korrekt? Und wenn ja, wie wird das letzte Commit festgelegt? Muss das letzte Commit manuell überprüft und angegeben werden, oder gibt es einen einfacheren Weg?

25
Chris Conover

Die Dokumentation Zustände

Carthage unterstützt verschiedene Arten von Versionsanforderungen:

  • > = 1.0 für "mindestens Version 1.0"
  • ~> 1.0 für "kompatibel mit Version 1.0"
  • == 1.0 für "genau Version 1.0"
  • "some-branch-or-tag-or-commit" für ein bestimmtes Git-Objekt (alles, was git rev-parse erlaubt)

also glaube ich 

github "jspahrsummers/xcconfigs" "HEAD"

sollte wie erwartet funktionieren, da "HEAD" ein gültiges Argument für git rev-parse ist

Alternative

github "jspahrsummers/xcconfigs" "master"

oder einer anderen Branche

42

Einfach github "jakecraige/RGB" wird No tagged versions found for github "jakecraige/RGB" schreien

Besser ist, github "jakecraige/RGB" "master" zu verwenden

Vielleicht möchten Sie Carthage Tutorial: Erste Schritte lesen

zweigname/Tag-Name/Commit-Name bedeutet "Verwenden Sie diesen spezifischen Zweig/Tag/Commit". Sie können beispielsweise master angeben, oder ein Commit hat den Wert 5c8a74a.

3
onmyway133

Lassen Sie einfach die Versionsnummer aus. Meines sieht so aus und es funktioniert:

github "Alamofire/Alamofire"
github "auth0/JWTDecode.Swift"
0
Elgs Qian Chen

Dies wurde von mdiep auf Carthages Github-Seite beantwortet:

Die neueste Version bezieht sich auf etwas, das über eine tatsächliche Version verfügt - eine Version oder ein Tag. Wenn Sie die aktuellste Festschreibung wünschen, müssen Sie den Zweig angeben, an den Sie die Verbindung herstellen möchten.

0
Chris Conover