Heim > Backend-Entwicklung > Golang > Go-Modulfehler: Warum steht „Paket package1 ist nicht in GOROOT' und wie behebe ich es?

Go-Modulfehler: Warum steht „Paket package1 ist nicht in GOROOT' und wie behebe ich es?

Susan Sarandon
Freigeben: 2024-12-03 08:07:11
Original
917 Leute haben es durchsucht

Go Module Error: Why is

Go-Modulfehler: Paket nicht in GOROOT

Problem:

Beim Laufen gehen main.go, Benutzer stoßen auf Folgendes Fehler:

package package1 is not in GOROOT (/usr/local/go/src/package1)
Nach dem Login kopieren

Ursache:

Dieser Fehler tritt auf, wenn das Go-Modulsystem das angegebene Paket im GOROOT-Verzeichnis nicht finden kann.

Lösung:

Um dieses Problem zu beheben, stellen Sie sicher, dass die Umgebungsvariablen ordnungsgemäß konfiguriert sind. Die folgenden Schritte sollten befolgt werden:

  1. GOPATH konfigurieren:

    • Erstellen Sie ein GOPATH-Verzeichnis außerhalb von GOROOT, z. B. /mnt/ sda1/programming/gopath.
    • Legen Sie die Umgebungsvariable GOPATH so fest, dass sie darauf zeigt Verzeichnis:

      export GOPATH=/mnt/sda1/programming/gopath
      Nach dem Login kopieren
  2. GOROOT anpassen:

    • Stellen Sie sicher, dass GOROOT auf eingestellt ist das vom System installierte Go-Root Verzeichnis:

      export GOROOT=/usr/local/go
      Nach dem Login kopieren
  3. GOROOT zum PATH hinzufügen:

    • GOROOT zum hinzufügen PATH-Umgebung Variable:

      export PATH=$PATH:$GOROOT/bin
      Nach dem Login kopieren
  4. Go-Module aktivieren:

    • Setzen Sie die Umgebungsvariable GO111MODULE Zu am:

      export GO111MODULE=on
      Nach dem Login kopieren
  5. Bashrc aktualisieren:

    • Fügen Sie die oben genannten Umgebungsvariablen zur .bashrc hinzu Datei.
    • Laden Sie die .bashrc-Datei in die Terminal:

      source ~/.bashrc
      Nach dem Login kopieren
  6. Modul neu initialisieren:

    • Navigieren Sie zum Hauptordner, der main.go enthält .
    • Initialisieren Sie das Go-Modul mit go mod init neu main.
  7. Paketverzeichnis erstellen:

    • Erstellen Sie ein Verzeichnis für das Paket, z. B. package1.
    • Erstellen Sie in Paket1 die erforderlichen Dateien mit dem Paket Paket1 Direktive.
    • Erstellen Sie keine go.mod-Datei im Paketverzeichnis.
  8. Paket importieren:

    • In main.go importieren Sie die Paket:

      import "main/package1"
      Nach dem Login kopieren
  9. bashrc erneut laden:

    • source ~/.bashrc erneut ausführen Stellen Sie sicher, dass die aktualisierte Einstellung angewendet wird.

Sobald diese Schritte ausgeführt wurden abgeschlossen, der Fehler „Paket package1 ist nicht in GOROOT“ sollte behoben sein und die Datei „main.go“ sollte erfolgreich ausgeführt werden.

Das obige ist der detaillierte Inhalt vonGo-Modulfehler: Warum steht „Paket package1 ist nicht in GOROOT' und wie behebe ich es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage