Heim >Backend-Entwicklung >Golang >Warum kann mein Go-Compiler meine externen Pakete nicht finden?

Warum kann mein Go-Compiler meine externen Pakete nicht finden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 19:38:10199Durchsuche

Why Can't My Go Compiler Find My External Packages?

Verwendung von Nicht-GOROOT-Go-Paketen

Frage: Es tritt der Fehler „Paket Paket1 ist nicht in GOROOT (/usr/local/go/) auf“ src/package1)“ beim Versuch, ein externes Paket zu verwenden Go.

Erklärung: Dieser Fehler tritt auf, wenn der Go-Compiler das angegebene Paket im GOROOT-Verzeichnis der Standardbibliothek nicht finden kann. Dies deutet darauf hin, dass das Paket nicht installiert ist oder sich außerhalb der Standardbibliothek befindet.

Lösung:

  1. Umgebungsvariablen konfigurieren:

    • Stellen Sie sicher, dass die Umgebungsvariable GO111MODULE auf „on“ gesetzt ist, um das Modul zu aktivieren Unterstützung.
    • Setzen Sie die Umgebungsvariable GOPATH auf ein Verzeichnis außerhalb von GOROOT.
    • Fügen Sie sowohl GOPATH/bin als auch GOROOT/bin zur Umgebungsvariablen PATH hinzu.

    Sie können diese Zeilen beispielsweise zu Ihrer .bashrc-Datei hinzufügen Datei:

    export GO111MODULE=on
    export GOPATH=/mnt/sda1/programming/gopath
    export PATH=$PATH:$GOPATH/bin
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
  2. Laden Sie die Umgebungsvariablen:

    • Laden Sie die Umgebungsvariablen neu, indem Sie source ~/.bashrc ausführen.
  3. Main initialisieren Paket:

    • Erstellen Sie ein neues Verzeichnis für das Hauptprojekt und initialisieren Sie ein Modul mit go mod init main.
  4. Externes Paket erstellen:

    • Erstellen Sie ein separates Verzeichnis für das externe Paket Paket.
    • Erstellen Sie im externen Paketverzeichnis alle erforderlichen Dateien mit der Paketanweisung package1 in der ersten Zeile.
  5. Externes Paket importieren:

    • Importieren Sie in der Go-Hauptdatei (main.go) das externe Paket unter Verwendung seines Pfads relativ zum Hauptpaketverzeichnis. Zum Beispiel:
    import "main/package1"

Durch Befolgen dieser Schritte können Sie sicherstellen, dass Ihr Go-Compiler das externe Paket finden und verwenden kann, indem Sie das Problem „Paket Paket1 ist nicht in GOROOT“ beheben " Fehler.

Das obige ist der detaillierte Inhalt vonWarum kann mein Go-Compiler meine externen Pakete nicht finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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