Heim >Backend-Entwicklung >Golang >Warum schlägt „go install' mit „Lokaler Import in nicht-lokales Paket' fehl und wie kann ich das Problem beheben?

Warum schlägt „go install' mit „Lokaler Import in nicht-lokales Paket' fehl und wie kann ich das Problem beheben?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 02:40:11293Durchsuche

Why Does `go install` Fail with

Lokales Importproblem in nicht-lokalem Paket

Beim Versuch, ein Paket (jacob.uk.com) von außerhalb seines Verzeichnisses zu installieren ( src/jacob.uk.com) bei Verwendung von go install ist ein Entwickler auf den Fehler „Lokaler Import ./greeting in nicht-lokalem Paket“ gestoßen. Dieser Fehler tritt auf, weil lokale Importe (d. h. relative Importe innerhalb eines Pakets) nicht zulässig sind, wenn ein nicht lokales Paket für die Installation angegeben wird.

Lösung:

Zu beheben Bei diesem Problem hat der Entwickler zwei Möglichkeiten:

  1. Ändern Sie das Arbeitsverzeichnis in src/jacob.uk.com und führen Sie es dann aus go install (ohne Angabe des Pakets). Dadurch kann der lokale Import ordnungsgemäß funktionieren. Allerdings führen alle ungenutzten Importe in helloworld.go immer noch zu Kompilierungsfehlern.
  2. Verwenden Sie absolute Importe anstelle lokaler Importe. Ersetzen Sie die lokale Importanweisung (import „./greeting“) durch die absolute Importanweisung (import „jacob.uk.com/greeting“). Dadurch kann das Paket von jedem Verzeichnis aus kompiliert, ausgeführt und installiert werden. Dies ist der bevorzugte Ansatz, da er die Notwendigkeit lokaler Importe vermeidet und die Konsistenz über verschiedene Arbeitsverzeichnisse hinweg gewährleistet.

Das obige ist der detaillierte Inhalt vonWarum schlägt „go install' mit „Lokaler Import in nicht-lokales Paket' fehl und wie kann ich das Problem beheben?. 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