Heim >Backend-Entwicklung >Golang >Wie kann ich auf lokale Pakete in meinen Go 1.11-Modulen zugreifen?

Wie kann ich auf lokale Pakete in meinen Go 1.11-Modulen zugreifen?

DDD
DDDOriginal
2024-12-26 03:56:17341Durchsuche

How Can I Access Local Packages Within My Go 1.11 Modules?

Zugriff auf lokale Pakete innerhalb von Go 1.11-Modulen

Problembeschreibung

Beim Versuch, auf a zuzugreifen Lokales Paket in einem Go-Modul mit einer Projektstruktur ähnlich der unten beschriebenen. Die Kompilierung schlägt mit der Meldung „Modul kann nicht gefunden“ fehl. Fehler.

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

Lösung

Um auf lokale Pakete innerhalb eines Go-Moduls zuzugreifen, müssen Sie die go.mod-Datei des Projekts ändern und die Ersetzungsanweisung verwenden. Mit dieser Anweisung können Sie einen lokalen Pfad für ein Paket angeben, das nicht in einem Remote-Repository verfügbar ist.

Schritte zur Behebung des Problems

  1. Module definieren:

    • Im bereitgestellten Beispiel kann das Modul für das Hauptprojekt definiert werden als github.com/userName/mainModule.
    • Das Modul für das Plattformpaket kann als github.com/userName/otherModule definiert werden.
  2. go.mod-Datei ändern:

    • Fügen Sie die folgenden Zeilen hinzu die go.mod-Datei:

      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"
    • Ersetzen Sie den lokalen physischen Pfad zum otherModule durch den absoluten Pfad zum Stammverzeichnis des otherModule-Verzeichnisses.
  3. Paket importieren:

    • In main.go, importieren Sie das gewünschte Paket aus otherModule:

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

Zusätzliche Informationen

  • Die Mit der Ersetzen-Direktive können Sie die Remote-Abhängigkeit durch einen lokalen Pfad ersetzen, auch wenn sie dieselbe Versionsnummer haben.
  • Module sind Sammlungen von Paketen. In Go 11 können Sie Module zum Verwalten von Abhängigkeiten und Versionen verwenden.
  • Eine umfassende Einführung in Go-Module finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWie kann ich auf lokale Pakete in meinen Go 1.11-Modulen zugreifen?. 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