我的文件系统上有一个$GOPATH名为bitbucket.org/me/awesome.
~/awesome> tree
.
├── main.go
├── go.mod
├── go.sum
├── subpackageA
│ └── main.go
我的go.mod样子:
module bitbucket.org/me/awesome
require (
... # lots of external dependencies
)
replace bitbucket.org/me/awesome => ./
在main.go我的顶级目录中,我调用了一个子包,如下所示:
import "bitbucket.org/me/awesome/subpackageA"
这一切看起来都很正常。go get作品。但是,当我将整个存储库克隆到其他地方(比如在 Docker 映像中)并go get首次运行时,我会收到如下错误:
package bitbucket.org/me/awesome/subpackageA: https://api.bitbucket.org/2.0/repositories/me/awesome?fields=scm: 403 Forbidden,
这意味着它没有使用包的本地文件系统版本,即使我告诉它使用文件中的replace指令go.mod。
我究竟做错了什么?我如何确保子包是从文件系统中使用的,而不是试图从互联网上获取的?
拉丁的传说
慕盖茨4494581
相关分类