So unterstützen Sie mehrere Go-Mod-Module in einem einzigen Repository

藏色散人
Freigeben: 2021-07-13 14:33:44
nach vorne
3326 Leute haben es durchsucht

Es gibt ein Multi-Modul in einem Projekt. Für andere Artikel werden diese Module verwendet, sodass die Veröffentlichung mehrerer Module in einem Lager realisiert werden muss.

Lagerstruktur

Die Lagerstruktur ist wie folgt:
.├── README.md
├── a
│   ├── a.go
│   └── go.mod
└── b
    ├── b.go
    └── go.mod
Nach dem Login kopieren
Darunter wird a/go.mod mit dem folgenden Befehl generiert:

go mod init github.com/robberphex/go-test-multi-module/a
Nach dem Login kopieren

Versionsveröffentlichunga/go.mod使用如下命令生成:

$ git tag
a/v1.0.0
b/v1.0.0
b/v1.0.1
Nach dem Login kopieren

版本发布

由于是多模块,所以使用不同的tag。tag名字统一为<模块名>/<版本号>

比如现在的tag有:

$ go get github.com/robberphex/go-test-multi-module/b
go: downloading github.com/robberphex/go-test-multi-module/b v1.0.1
go: downloading github.com/robberphex/go-test-multi-module v0.0.0-20210420014022-d2c7262e89eb
$ go get github.com/robberphex/go-test-multi-module/a
go: downloading github.com/robberphex/go-test-multi-module/a v1.0.0
Nach dem Login kopieren

用户使用

用户在安装的时候只需要和普通模块一样执行命令即可:

"gopls": {
    "build.experimentalWorkspaceModule": true}
Nach dem Login kopieren

VSCode开发体验

但是在多模块的情况下,用VSCode打开仓库(根目录),VSCode就会报错,涉及第三方包的自动补全也没法用:


根据提示查了下资料,发现是golps现在仅仅是实验性的支持多模块仓库,需要手动打开此开关:

rrreee

这样就能流畅的开发多模块项目了。

P.S. 还有一个开关ui.completion.experimentalPostfixCompletions

Since Da es sich um ein Multimodul handelt, werden die Tags unterschiedlich verwendet. Der Tag-Name lautet einheitlich <Modulname>/<Versionsnummer>.

Die aktuellen Tags lauten beispielsweise:

rrreee

BenutzernutzungBenutzer müssen bei der Installation nur den Befehl wie ein normales Modul ausführen:

rrreee🎜🎜🎜VSCode-Entwicklungserfahrung🎜🎜Aber im Fall mehrerer Module , verwenden Sie VSCode, um das Warehouse (Stammverzeichnis) zu öffnen. VSCode meldet einen Fehler und die automatische Vervollständigung mit Paketen von Drittanbietern funktioniert nicht: 🎜🎜
🎜🎜Ich habe die Informationen gemäß den Eingabeaufforderungen überprüft und festgestellt, dass golps jetzt nur noch versuchsweise Lager mit mehreren Modulen unterstützt. Sie müssen diesen Schalter manuell aktivieren:🎜rrreee🎜Auf diese Weise können Sie Multi-Modul-Projekte reibungslos entwickeln. 🎜🎜P.S. Es gibt auch einen Schalter ui.completion.experimentalPostfixCompletions, der ebenfalls sehr nützlich ist. Der Effekt ist wie folgt: 🎜🎜🎜🎜🎜Für weitere technische Informationen Artikel, besuchen Sie bitte 🎜🎜golang🎜 🎜Tutorial-Kolumne! 🎜

Das obige ist der detaillierte Inhalt vonSo unterstützen Sie mehrere Go-Mod-Module in einem einzigen Repository. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
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
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!