Heim  >  Artikel  >  Backend-Entwicklung  >  Wie importiere ich ein Local Go-Modul, ohne es in ein Remote-Repository zu übertragen?

Wie importiere ich ein Local Go-Modul, ohne es in ein Remote-Repository zu übertragen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-22 11:51:111002Durchsuche

How Do I Import a Local Go Module Without Pushing it to a Remote Repository?

Referenzieren auf ein lokales Go-Modul

Dieser Artikel befasst sich mit dem aufgetretenen Problem beim Importieren eines Pakets aus einem lokalen Go-Modul von einem Benutzer, der versucht hat, ein Modul zu verwenden, ohne es zuerst in ein GitHub-Repository zu verschieben.

Die Problem

Beim Versuch, ein lokal erstelltes Modul zu importieren, ist der Benutzer auf den folgenden Fehler gestoßen:

cannot load github.com/Company/mymodule: cannot find module providing package github.com/Company/mymodule

Die Ursache

Dies Der Fehler tritt auf, weil Go versucht, Module von Drittanbietern aufzulösen, indem es sie von den dafür vorgesehenen Remote-URLs abruft. Da das Modul in diesem Fall noch nicht auf GitHub übertragen wurde, konnte Go es nicht finden.

Die Lösung

Um ein lokales Modul zu verwenden, muss der Benutzer können das Schlüsselwort „replace“ in ihrer go.mod-Datei verwenden:

replace github.com/Company/mymodule v0.0.0 => ../mymodule

Dadurch wird Go über den korrekten Speicherort der lokalen Datei informiert Abhängigkeit.

Zusätzliche Hinweise

Nachdem das Modul getestet und in ein Repository verschoben wurde, kann die Ersetzungszeile aus go.mod entfernt werden. Um das Modul neben dem aktuellen Projekt korrekt zu verwenden, kann der folgende Befehl verwendet werden:

go get -u github.com/Company/mymodule

Zusätzlich muss unbedingt sichergestellt werden, dass Funktionen und Variablen in Go-Paketen mit Großbuchstaben beginnen, damit sie von außerhalb zugänglich sind Paket.

Das obige ist der detaillierte Inhalt vonWie importiere ich ein Local Go-Modul, ohne es in ein Remote-Repository zu übertragen?. 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