Heim >Backend-Entwicklung >Golang >Rufen Sie den Verweis auf ein ungültiges Tag ab

Rufen Sie den Verweis auf ein ungültiges Tag ab

王林
王林nach vorne
2024-02-13 16:36:09603Durchsuche

Rufen Sie den Verweis auf ein ungültiges Tag ab

PHP-Editor Xinyi stellt Ihnen vor, wie Sie das Problem „ungültige Tags als Referenz erhalten“ lösen können. Beim Schreiben von PHP-Code wird manchmal eine Fehlermeldung angezeigt, dass auf ein ungültiges Tag verwiesen wird. Dies kann an inkompatiblen PHP-Versionen oder Code-Logikproblemen liegen. Es gibt viele Möglichkeiten, dieses Problem zu lösen. Sie können die Codelogik überprüfen, die PHP-Version aktualisieren oder den Code ändern. Als Nächstes werden wir Schritt für Schritt Möglichkeiten zur Lösung dieses Problems untersuchen und Ihnen dabei helfen, PHP-Code reibungslos auszuführen.

Frageninhalt

Ich habe eine Go-basierte Binärdatei entwickelt und bin auf ein seltsames Problem gestoßen.

Ich habe also Paket a und Paket b, wobei Paket b direkt in Paket a referenziert wird.

Die Hauptanwendung (Paket a) verwendet Paket b Auf Paket b wird über seine Mod-Datei verwiesen.

Also habe ich über go get [email protected] eine getaggte Version von Paket b für Paket a hinzugefügt, aber als ich auf einige Probleme stieß, habe ich diese Version und das Tag sowohl lokal als auch remote (Github) entfernt und eine getaggte Version für neuere Commits erstellt. Github bestätigt, dass die neue Version auf der neuen Referenz basiert, aber wenn ich über ein neues Commit auf dasselbe Tag verweise, verweist es tatsächlich auf dieselbe alte Codeversion.

Um dieses Problem zu lösen und zu beheben, habe ich kürzlich ein Tag mit dem Namen v1.1.1 erstellt, aber obwohl es das Problem gelöst hat, erhalte ich jetzt am Ende die folgende Meldung, selbst wenn ich auf v1.1.0 verweise.

root@CaesarPrime-AcerE5:/mnt/d/AppA# go get github.com/xxxx/B@master
go: downloading github.com/xxxx/B v1.11.0
go: downloading github.com/xxxx/xxxxz v0.3.2
go: downloading github.com/xxxx/xxxxd v1.1.1
go: downloading golang.org/xxxx/xxxxv v0.0.0-20220127200216-cd36cc0744dd
go: downloading golang.org/xxxx/xxxxb v0.3.7
go: downloading github.com/xxxx/xxxx v0.0.0-20170810143723-de5bf2ad4578
go: upgraded github.com/xxxx/B v1.1.0 => v1.1.1

Ich glaube, das könnte an einem Caching-Problem liegen, da ich das Tag v1.1.1 weder remote noch lokal sehe. Aber wie kann das passieren, wenn go git etwas aus dem Remote-Repository abruft, weil es bereits einige späte Tags abgerufen hat, die entfernt wurden?

Oder habe ich vielleicht einen peinlichen Fehler bei der Paketverwaltung gemacht?

Problemumgehung

Sie haben Recht, das gelöschte Tag ist möglicherweise im öffentlichen Proxy von go vorhanden

go-Dokumentation sagt:

Sobald ein Tag erstellt wurde, sollte es nicht gelöscht oder geändert werden Verschiedene Revisionen. Versionen werden auf Sicherheit überprüft, Wiederholbare Builds. Wenn die Bezeichnung geändert wird, kann der Client die Sicherheit sehen Beim Herunterladen ist ein Fehler aufgetreten. Auch nach dem Löschen des Tags bleibt sein Inhalt erhalten Möglicherweise weiterhin auf dem Modulagenten verfügbar.

Sie können Versionen in zurückziehen, indem Sie einen Abschnitt wie diesen platzieren: go.mod

retract (
    v1.0.0 // Published accidentally.
    v1.0.1 // Contains retractions only.
)

Das obige ist der detaillierte Inhalt vonRufen Sie den Verweis auf ein ungültiges Tag ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen