转到 bitbucket 上的 mod 私人仓库

Go mod private repo on bitbucket

我的工作中有一个项目要做,我们正在使用 Bitbucket。所以我们所有的回购协议都是这样的:

bitbucket.org/company/project这里没有新内容。

我创建了一个名为 go-tools 的存储库,他的模块名称是 bitbucket.org/company/go-tools,他的路径是 bitbucket.org/company/go-tools

按照这个 medium post 我可以实现 go mod tidy

package whatever

import (
       "bitbucket.org/company/go-tools"
       "bitbucket.org/company/go-tools/env"
       // and so on ...
)

当我尝试将“bitbucket.org/company”替换为“company.com”时出现问题,因为我们希望使用我们的公司名称而不是 bitbucket.

所以我的模块名称变成了 company.com/go-tools 而不是 bitbucket.org/company/go-tools

我的导入变成了:

package whatever

import (
       "company.com/go-tools"
       "company.com/go-tools/env"
       // and so on ...
)

我已将我的 GOPRIVATE 设置为使用 bitbucket 并配置 git 使用 bitbucket 而不是 company.com

git config --global url."https://{username}:{app password}@bitbucket.com/company".insteadOf "https://company.com"
go env -w GOPRIVATE=bitbucket.org/company 

然后我只收到 404 错误,告诉我找不到我的包裹。

有人知道为什么吗?我是不是误会了什么?

注意:我也 read this

感谢@adrian 的回复,至少部分回答了我的问题。 我更多的是在寻找一种 go get 'company.com/whatever' 的方法,但这没关系。

所以如果我理解正确的话我需要先go get bitbucket.org/company/whatever然后go mod edit -replace bitbucket.org/company/whatever=company.com/whatever

谢谢