我有一个位于我的文件系统($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
它。
我究竟做错了什么?如何确保从文件系统使用子包,而不是尝试从 Internet 获取?