我有两个独立的 Go 存储库。一个包含应用程序,另一个包含应用程序想要使用的共享库。两者都不在 $GOPATH 中。
~/projects/
├── myapplication
│ ├── go.mod
│ └── myapplication.go
└── mylibrary
├── go.mod
└── mylibrary.go
图书馆/go.mod
module example.com/mylibrary
go 1.14
图书馆/mylibrary.go
package mylibrary
var Message = "Hello, World!"
我的应用程序/go.mod
module example.com/myapplication
go 1.14
myapplication/myapplication.go
package myapplication
import (
"fmt"
"example.com/mylibrary"
)
func main() {
fmt.Println(mylibrary.Message)
}
我没有理由相信上述内容应该有效,因为应用程序无法找出库的位置。我如何能?
我已经尝试了以下结果。
添加~/projects/mylibrary到 GOPATH
go install为图书馆而奔跑
运行go build应用程序给出:
myapplication $ go build
go: finding module for package example.com/mylibrary
myapplication.go:5:2: cannot find module providing package example.com/mylibrary: unrecognized import path "example.com/mylibrary": reading https://example.com/mylibrary?go-get=1: 404 Not Found
我可以看到它正在访问 example.com 以查找存储库(可以理解)。但是我怎么能告诉它首先在本地寻找某个地方呢?
杨魅力
猛跑小猪
相关分类