Heim  >  Artikel  >  Backend-Entwicklung  >  Warum kann ich in Go 1.6 keine Pakete aus meinem Lieferantenverzeichnis importieren?

Warum kann ich in Go 1.6 keine Pakete aus meinem Lieferantenverzeichnis importieren?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 21:55:30749Durchsuche

Why Can't I Import Packages from My Vendor Directory in Go 1.6?

Vendoring in Go 1.6: Fehlerbehebung bei Importproblemen

Das Verständnis des Vendoring-Konzepts in Go 1.6 kann eine Herausforderung sein. Lassen Sie uns ein häufiges Szenario aufschlüsseln und eine Lösung bereitstellen, die Sie beim Importieren von Dateien mit der neuen Anbieterfunktion unterstützt.

Problem: Obwohl jemand die Dokumentation befolgt und online recherchiert hat, ist er nicht in der Lage, Pakete mit zu importieren das Anbieterverzeichnis in Go 1.6.

Hier ist eine Beispielprojektstruktur:

.
└── src
    ├── main.go
    └── vendor
        └── github.com
            └── zenazn
                └── goji
                    ├── ...

Und die einzige Datei im Projekt, main.go:

<code class="go">import (
    "github.com/zenazn/goji"
    "github.com/zenazn/goji/web"
)</code>

Umgebungsvariablen:

<code class="Bash">export GOPATH=~/.go
export GOBIN=$GOPATH/bin
export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN</code>

Versuchte Build-Befehle:

  • go run ./src/main.go
  • go build ./src/main.go

Lösung:

Um dieses Problem zu beheben, ist es wichtig zu verstehen, wie Go-Tools mit Quellcode und GOPATH umgehen . So erstellen Sie ein Go-Programm:

  1. Erstellen Sie ein Verzeichnis unter $GOPATH/src, z. B. mkdir $GOPATH/src/myprogram.
  2. Platzieren Sie den gesamten Quellcode (einschließlich des Herstellerverzeichnisses) dort: $GOPATH/src/myprogram/main.go, $GOPATH/src/myprogram/vendor.
  3. Führen Sie go install myprogram aus, um die Anwendung zu kompilieren und die resultierende myprogram-Binärdatei in $GOPATH/bin/myprogram abzulegen.

Weitere Informationen zu diesen Konzepten finden Sie in der offiziellen Dokumentation unter https://golang.org/doc/code.html.

Das obige ist der detaillierte Inhalt vonWarum kann ich in Go 1.6 keine Pakete aus meinem Lieferantenverzeichnis importieren?. 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