簡體   English   中英

如何通過“go mod”分隔不同目錄中的代碼?

[英]How to separate code in different directory by 'go mod'?

我的源目錄布局像

mywork/libA
mywork/libA/liba.go
mywork/libA/go.mod
mywork/progB
mywork/progB/go.mod
mywork/progB/progb.go
  • 在 mywork/libA/ 目錄中,我輸入go mod init example.com/mywork/liba
  • 在 mywork/progB/ 目錄中,我輸入go mod init example.com/mywork/progb

libA/liba.go

package liba
func Hi() string {      return "hi" }

庫/go.mod

module example.com/mywork/liba

go 1.13

progB/progb.go

package main
import "example.com/mywork/liba"
func main() { println("progb:", liba.Hi()) }

progB/go.mod

module example.com/mywork/progb

go 1.13

libA目錄中的go build是可行的。 但是go buildprogB失敗並顯示

構建 example.com/mywork/progb:無法加載 example.com/mywork/liba:找不到提供包 example.com/mywork/liba 的模塊

如何糾正?

progB/go.mod 應該在https://github.com/golang/go/wiki/Modules#can-i-work-entirely-outside-of-vcs-on-my-local-filesystem 中添加 require 和 replace 語句

module example.com/mywork/progb

require example.com/mywork/liba v0.0.0

replace example.com/mywork/liba => ../libA

go 1.13

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM