Heim >Backend-Entwicklung >Golang >Wie greife ich innerhalb eines Go-Moduls auf lokale Pakete zu?

Wie greife ich innerhalb eines Go-Moduls auf lokale Pakete zu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-22 05:04:13673Durchsuche

How Do I Access Local Packages Within a Go Module?

Zugriff auf lokale Pakete innerhalb eines Go-Moduls

Frage:

Zugriff auf lokale Pakete innerhalb eines Go-Moduls nicht möglich. Die Projektstruktur ist wie folgt:

/
  - /platform
      - platform.go
  - main.go
  - go.mod

Das Importieren des Plattformpakets in main.go führt zu dem Fehler: Modul für Pfadplattform kann nicht gefunden werden.

Antwort:

Um auf lokale Pakete in einem Go-Modul zuzugreifen, können Sie die Ersetzungsdirektive in der Datei go.mod verwenden. Mit dieser Direktive können Sie einen lokalen Pfad zu einem Modul angeben, das nicht remote veröffentlicht wird.

Fügen Sie in der go.mod-Datei des Hauptmoduls die folgenden Zeilen hinzu:

module github.com/userName/mainModule

require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"

Der angegebene Pfad sollte auf das Stammverzeichnis des Moduls verweisen und kann absolut oder relativ sein.

Um in main.go ein bestimmtes Paket wie eine Plattform aus dem otherModule-Modul zu importieren, verwenden Sie den folgenden Import Pfad:

import "github.com/userName/otherModule/platform"

Zusätzliche Informationen:

  • Module in Go sind Sammlungen von Paketen. In Go 11 können Sie Module verwenden, ohne sie remote zu veröffentlichen.
  • Wenn sich Pakete im selben Projekt befinden, können Sie sie direkt unter Verwendung ihrer Paketnamen importieren.
  • Für separate Module die Ersetzungsdirektive wird verwendet, um auf lokale Pakete zu verweisen, ohne sie remote zu veröffentlichen.

Weitere Informationen finden Sie in den folgenden Ressourcen Details:

  • [Golang-Module](https://go.dev/blog/modules)

Das obige ist der detaillierte Inhalt vonWie greife ich innerhalb eines Go-Moduls auf lokale Pakete zu?. 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