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
Freigeben: 2024-02-09 20:09:08
nach vorne
436 Leute haben es durchsucht

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]
Nach dem Login kopieren
Nach dem Login kopieren

Dieses Tool funktioniert:

gnostic --grpc-out=./target ./source.yaml
Nach dem Login kopieren

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
Nach dem Login kopieren

Außerdem:

go install github.com/google/[email protected]
go install github.com/thlib/[email protected]
Nach dem Login kopieren

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
Nach dem Login kopieren

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]
Nach dem Login kopieren
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage