我能够很好地执行克隆、推送和其他git命令(必须存储在Windows的凭据管理器中).但是当我执行go mod tidy时出现问题

以下是我在Windows机器上执行go mod tidy时遇到的错误.看起来没有访问私有存储库的权限.

gitlab.xxxxx.de/cxxxxs-v2/arc-lib/cxxxxs-go-lib/pkg/clients:
gitlab.xxxx.de/cxxxxs-v2/arc-lib/cxxxxs-go-lib@v1.10.1: verifying
module: gitlab.xxxx.de/cxxxxs-v2/arc-lib/cxxxxs-go-lib@v1.10.1:
reading
https://sum.golang.org/lookup/gitlab.xxxxx.de/cxxxxs-v2/arc-lib/cxxxxs-go-lib@v1.10.1:
404 Not Found
    server response:
    not found: gitlab.xxxxx.de/cxxxxs-v2/arc-lib/cxxxxs-go-lib@v1.10.1: invalid
version: git ls-remote -q origin in
/tmp/gopath/pkg/mod/cache/vcs/387e08be1426cc3d2399d471d4c4b55445c31d6ca639398a03889c4c3282d1d5:
exit status 128:
            fatal: could not read Username for 'https://gitlab.xxxxx.de': terminal prompts disabled
    Confirm the import path was entered correctly.
    If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.

我已经创建了HOME个环境变量,指向与USERPROFILE相同的文件夹.

还创建了_netrc个带有机器、用户名和密码的文件. 在网络GitLab登录时使用相同的用户名和密码,运行正常.

_netrc个内容:

machine gitlab.aaaaaa.de
login ranjit.kumar
password *****

我不知道如何调试才能找到根本原因和解决方案.请在这方面给我指点一下.

推荐答案

未找到读取https://sum.golang.org/lookup/gitlab.xxxxx.de/cidaas-v2/arc-lib/cidaas-go-lib@v1.10.1:404

它试图在GO SUMDB中查找您的私有模块.因为您的模块是私有的,所以它不在那里.

您应该将私有模块的全局模式添加到GOPRIVATE.这样做:

go env -w GOPRIVATE=gitlab.xxxxx.de

GOPRIVATE充当GONOPROXYGONOSUMDB的默认值.它告诉GO工具直接从私有储存库下载模块(GONOPROXY),并且不使用公共校验和数据库来判断模块(GONOSUMDB).

有关详细信息,请参阅Private modules.


顺便说一句,如果您可以在没有它的情况下获取或推送到存储库,则不需要设置_netrc.而且,设置HOME环境变量似乎也无关紧要.

Go相关问答推荐

如何创建两个连接的io.ReadWriteClosers以用于测试目的

杜松子wine -戈尼克背景在 children 围棋例行公事中被取消

在保留额外参数的同时解封YAML

Go-Colly:将数据切片为POST请求

GORM没有从 struct 创建完整的表,如何修复?

一种基于时间的Golang函数节制器

如何在Golang中使用ECHO服务器实现Socket.IO服务器

什么东西逃到了堆里?

Go安装成功但没有输出简单的Hello World

Go 中的 YAML 自定义标签

为什么docall在singleflight中使用go panic?

同一文件上的多个 Arrow CSV 阅读器返回 null

如何使用名称具有包名称的嵌套 struct 启动 go struct

Go泛型:无效的复合文字

Go cmp - 如何为以 struct 为键的映射定义自定义相等性?

将 .gz 文件添加到 tar.gz 文件,但在添加之前解码 gz.输出文件被剪辑(损坏)

Go 加密库创建的 PKCS1 公钥与openssl rsa ...之间的区别

显示作为服务帐户身份验证的谷歌日历事件 - Golang App

使用 Go 读取 TOML 文件时结果为空

如何在golang中使用ozzo验证进行时间最大验证