我正在使用Go模块。
为了使用模块版本,我不能使用本地模块。例如:
replace locakpkg => ../localpkg v0.1.0
上述操作将失败,因为到目前为止,替换本地路径无法有版本(转到 1.15)。
因此,为了使模块版本正常工作,我决定使用私有ssh存储库。
我确实搜索了如何使私有ssh存储库工作两天。
通过关注许多在线文章,我做到了
git config --global url.user@private.com:.insteadOf https://private.com/go env -w GOPRIVATE=private.com
我发现go get总是会做https fetch来检查ssl凭证。所以我也正确地配置了一个https服务器。
但最终,我仍然收到一条错误消息:
unrecognized import path "private.com/foo": reading https://private.com/foo?go-get=1: 404 Not Found
我确实谷歌了这个错误,并发现了这个规范 https://golang.org/ref/mod#vcs-find 它说我必须让服务器回复https获取请求。<meta name="go-import" content="root-path vcs repo-url">
如果有一种方法可以在本地模块包中使用git标签版本控制,我可以在go.mod中使用本地替换,而不是配置私有ssh存储库。
如果以上几点无法实现,那么在配置私有 ssh 存储库时如何避免 https 获取?我认为ssh repo与https协议无关。
蝴蝶刀刀
相关分类