我正在尝试从 github 获取项目的特定包。但是,当我使用go get [url]or时go mod vendor,由于缺乏对我公司的一个存储库的权限,我得到一个 git fetch 错误。这个 repo 是 vendored,这就是我们如何绕过它进行 go test、go build 等。这是错误消息:go: private.work.repo.com/project/repo@v0.0.0-20190703160253-9c6eb80851f1: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in C:\Users\NICHOLAS.TAN\go\pkg\mod\cache\vcs\37594aeb10b98234e04b4780cf59f32c4ad7bb9da460f552103ae748cea73aa1: exit status 128: fatal: remote error: Repository not found The requested repository does not exist, or you do not have permission to access it.有没有办法让我使用go get和/或go mod vendor不使用这些命令来尝试查看其他模块依赖项?
2 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
您可以在项目目录中获取特定版本的包使用go get <package>@<version>,例如:
% go get github.com/golang/protobuf@v1.4.0
go: downloading github.com/golang/protobuf v1.4.0
仅将get github.com/golang/protobuf软件包所需的版本下载到本地缓存 ( $GOPATH/pkg/mod) 并将版本设置为go.mod文件。
毕竟,如果您在本地缓存 ( $GOPATH/pkg/mod) 中有来自公司存储库的依赖项,请使用go mod vendor创建vendor(从缓存中获取)。
胡说叔叔
TA贡献1804条经验 获得超8个赞
获取私有模块时会出现此类问题,请检查您本地系统中已完成的以下配置
更新 git 全局配置 url
git config --global --add url."git@github.com:".insteadOf "https://github.com/"
更新 go env 以访问私有 go 模块
go env -w GOPRIVATE=github.com/abc/*
然后运行安装命令
- 2 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消