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!