【发布时间】:2021-10-26 21:58:55
【问题描述】:
如果我有以下结构:
HelperFolder
Library1
lib1.go
Library2
lib2.go
file2.go
lib1.go 在哪里导入 Library2。
我已经在 library2 中执行了 go mod init,然后 go mod tidy 然后 go build,一切都很好。 但我无法构建 Library1。
我不想安装任何库,或将库放在 gopath 中(我已将 HelperFolder 放在不同的路径中)但我在构建 library1 时总是收到错误,即 package2 不在 GOROOT(C:\程序文件\go\src\package2)
我错过了什么?
感谢任何帮助
【问题讨论】:
-
在引用其他未托管的模块时,您需要在
Library1的 go.mod 中使用 replace 指令。例如replace Library2 => ../Library2在require之后。 -
@Zyl 感谢您的帮助。我使用了类似“go mod edit replace HelperFolder/Lib2 => D:\folderPath\HelperFolder\Lib2”,然后“go get HelperFolder/Lib2”之类的东西,这就解决了这个问题。