Heim >Backend-Entwicklung >Golang >Wie forkt man? Fehler: gefunden, enthält aber kein Paket

Wie forkt man? Fehler: gefunden, enthält aber kein Paket

WBOY
WBOYnach vorne
2024-02-09 20:09:08436Durchsuche

Wie forkt man? Fehler: gefunden, enthält aber kein Paket

In diesem Artikel verrät Ihnen der PHP-Editor Youzi, wie Sie mit dem Problem „How to fork? Error: Found, but the package is not Included“ umgehen können. Dieser Fehler tritt normalerweise bei Verwendung eines Versionskontrollsystems auf und weist darauf hin, dass das System den entsprechenden Zweig gefunden hat, aber das erforderliche Paket oder die erforderliche Datei nicht enthielt. In diesem Artikel erklären wir, wie dieser Fehler diagnostiziert und behoben wird, um den normalen Betrieb des Projekts sicherzustellen. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen nützliche Lösungen und Ratschläge. Lassen Sie uns dieses Problem gemeinsam lösen!

Frageninhalt

Lauf:

go install github.com/google/[email protected]
go install github.com/googleapis/[email protected]

Dieses Tool funktioniert:

gnostic --grpc-out=./target ./source.yaml

Ich habe die Bibliothek https://github.com/google/gnostic-grpc geforkt und so geändert, dass keine Snake-Case-Konvertierung durchgeführt wird, und ich habe das Paket auch umbenannt github.com/thlib 的所有引用/gnostic-grpc, damit es installiert werden kann.

Dann habe ich versucht, es zu installieren:

go install github.com/thlib/gnostic-grpc@04d3e8500daa070fbe8c6118fe3b62e42d4a9b1f

Außerdem:

go install github.com/google/[email protected]
go install github.com/thlib/[email protected]

Aber es wird ein Fehler ausgegeben:

go: downloading github.com/thlib/gnostic-grpc v0.1.3
go: github.com/thlib/[email protected]: module github.com/thlib/[email protected] found, but does not contain package github.com/thlib/gnostic-grpc

Ich verstehe nicht, was ich falsch gemacht habe.

  1. Paket wurde umbenannt
  2. Lauf go mod init github.com/thlib/gnostic-grpc && go mod tidy

Dann git cloned Original, jetzt bin ich noch verwirrter, wie funktioniert das?

go install github.com/google/[email protected]
go install github.com/googleapis/[email protected]

Auf der Root-Ebene scheint es keine zu geben main.go 包,go installWoher wissen Sie, was installiert werden muss?

Außerdem: Wenn ein Paket beispielsweise eine Verwendung eines nicht deklarierten Typs enthält, wie wird es dann installiert? /incompatibilityapisetincompatibility , es ist nirgendwo deklariert, sollte das nicht ein Fehler sein?

Das ist ein Fehler in der offiziellen Beschreibung, es scheint, dass sie den Fehler irgendwann auch gemacht haben:

go install github.com/google/[email protected]
go install github.com/google/[email protected]

Ich habe mir diese Fragen (und andere Fragen und Reddit-Beiträge usw.) angesehen und sie scheinen unterschiedlich zu sein:

  • Go-Modul @latest gefunden, aber kein Paket
  • Modul gefunden, aber kein Paket
  • Gehen Sie und installieren Sie das neueste gefundene, aber nicht enthaltene Paket
  • go: Modul gefunden, aber kein Paket
  • golang privates Modul (v1.17) – Paket gefunden, aber nicht enthalten

Problemumgehung

Wenn ein Paket beispielsweise die Verwendung eines nicht deklarierten Typs enthält, wie wird es dann installiert? /incompatibility hat ApiSetIncompatibility, das nirgendwo deklariert ist. Sollte das nicht ein Fehler sein?

ApiSetIncompatibility wird nach der Proto-Kompilierung in der .pb-generierten Datei deklariert. Sie finden es in der Datei incompatibility/incompatibility-report.proto in Zeile 88. Um dieses Problem zu lösen, müssen Sie also zunächst die .pb-Datei mit protoc generieren.

Das obige ist der detaillierte Inhalt vonWie forkt man? Fehler: gefunden, enthält aber kein Paket. 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