Go-Module: Warum tritt der Fehler „Ersatzmodul ohne Version muss Verzeichnispfad sein' auf?

Patricia Arquette
Freigeben: 2024-11-05 10:52:02
Original
739 Leute haben es durchsucht

Go Modules: Why Does

Go-Module – Verständnis des Fehlers „Ersatzmodul ohne Version muss Verzeichnispfad sein“

Bei der Verwendung von Go-Modulen ermöglicht Ihnen die Ersetzungsanweisung um Abhängigkeiten mit lokalen Paketen zu überschreiben. Allerdings stoßen Benutzer häufig auf die Fehlermeldung „Ersatzmodul ohne Version muss Verzeichnispfad sein.“ Um dieses Problem zu lösen, müssen wir die richtige Pfadstruktur für die Ersetzungsdirektive verstehen.

Pfadstruktur für die Ersetzungsdirektive

Der für die Ersetzungsdirektive angegebene Pfad muss eingehalten werden spezifische Anforderungen. Es kann entweder sein:

  • Absoluter Pfad: Ein Pfad, der mit / beginnt und den absoluten Standort des Ersatzmoduls angibt.
  • Relativer Pfad: Ein Weg, der mit beginnt. oder .. das auf einen Speicherort relativ zum Stammverzeichnis des aktuellen Moduls verweist.

Beispiel: Relativen Pfad für Ersetzungsanweisung verwenden

Angenommen, Sie haben es getan eine Projektstruktur wie die folgende:

my-project/
    go.mod
    src/
        my-app/
            main.go
        my-pack/
            pack.go
Nach dem Login kopieren

Um das my-pack-Paket lokal innerhalb des my-app-Moduls zu verwenden, können Sie den go.mod wie folgt ändern:

module my-app

go 1.12

require my-pack v0.0.0

replace my-pack => ../my-pack
Nach dem Login kopieren

Hier zeigt der relative Pfad ../my-pack auf das my-pack-Paket, das eine Ebene höher liegt und ein Geschwister zum my-app-Paket ist.

Zusätzliche Überlegungen

  • Das Ersatzmodul (in unserem Beispiel my-pack) muss auch als Go-Modul initialisiert werden, indem go mod init my-pack in seinem Verzeichnis ausgeführt wird.
  • Wenn das Ersatzmodul ist nicht Teil desselben Go-Moduls wie das verbrauchende Modul ist, müssen Sie möglicherweise auch die Sichtbarkeitseinstellungen in go.mod-Dateien anpassen.

Durch Befolgen dieser Richtlinien können Sie die Ersetzungsdirektive effektiv zum Überschreiben von Abhängigkeiten verwenden mit lokalen Paketen bei Verwendung von Go-Modulen.

Das obige ist der detaillierte Inhalt vonGo-Module: Warum tritt der Fehler „Ersatzmodul ohne Version muss Verzeichnispfad sein' auf?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!