In der Go-Sprache sind Fehler beim Erstellen von Geschwistermodulen ein häufiges Problem. Die Ursache dieses Problems liegt normalerweise in einem Namespace-Konflikt im Modul. Wenn wir zwei Module mit demselben Namen im selben Verzeichnis erstellen, betrachtet der Go-Compiler dies als Konflikt und verursacht einen Fehler. Die Lösung für dieses Problem besteht darin, diese Module in verschiedenen Verzeichnissen abzulegen, um Namensraumkonflikte zu vermeiden. Darüber hinaus können wir auch Paketaliase verwenden, um Modulkonflikte zu lösen. Indem Sie einem der Module einen Alias zuweisen, können Sie Namensraumkonflikte vermeiden und erfolgreich Geschwistermodule erstellen. In der tatsächlichen Entwicklung müssen wir auf die Standardisierung der Modulbenennung achten und Module mit demselben Namen vermeiden, um diesen Fehler zu vermeiden.
Das ist mein Dateisystem:
Go/ HelloWorld/ go.mod go.sum hello.go GoQuote/ go.mod
Ich habe das Modul installiert und das ist mein HelloWorld/go.mod:
module example/hello go 1.21.3 require ( golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect rsc.io/quote/v4 v4.0.1 rsc.io/sampler v1.3.0 // indirect )
und go.sum:
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h1:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote/v4 v4.0.1 h1:i/LHLEinr65wwTCqlP4OnMoMWeCgnFIZFvifdXNK+5M= rsc.io/quote/v4 v4.0.1/go.mod h1:w/DafQky66grMesu3uPhdDMS3knhBippwwemZtMOyCI= rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
Der Fehler ist wie folgt:
无法导入rsc.io/quote/v4(在GOROOT或GOPATH中找不到包“rsc.io/quote/v4”)compilerBrokenImport
Und
undefined: quotecompilerUndeclaredName
Es sind keine Fehler aufgetreten, bis ich das GoQuote-Verzeichnis erstellt und den Befehl go mod init example.com/GoQuote
ausgeführt habe.
Ich bin neu bei Go (erste Stunde!) und weiß nicht, wo das Problem liegt.
Ich habe versucht, alle Dateien zu speichern (ich bin im VS-Code), aber ohne Erfolg.
Sieht so aus, als ob das Problem in der Struktur des Dateisystems liegt ... wenn ich es in
ändereGo/ go.mod go.sum hello.go GoQuote/ go.mod
Dann liegt kein Fehler vor.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen eines Geschwistermoduls in Go eine Fehlermeldung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!