文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在 golang 中导入私有仓库时版本和 https 引用无效

2024-04-04 23:39

关注

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《在 golang 中导入私有仓库时版本和 https 引用无效》,聊聊,我们一起来看看吧!

问题内容

尝试在 golang 中将私有存储库作为包导入。做了:

git config --global [email protected]:.insteadof https://github.com/

因此理论上所有对 https 的引用都会被 ssh 版本替换。

github.com/xxx/util

是我的私人仓库,它是一个 go 模块。

我执行 go get -v 并得到:

[gabriel@xiridio backend]$ go get -v
go: finding module for package github.com/XXX/util
go: downloading github.com/XXX/util v0.0.0-20200411022955-454673685ff5
go: finding module for package github.com/XXX/util
main.go:12:2: github.com/XXX/[email protected]: verifying module: github.com/XXX/[email protected]: reading https://sum.golang.org/lookup/github.com/!X!X!X/[email protected]: 410 Gone
        server response:
        not found: github.com/XXX/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /tmp/gopath/pkg/mod/cache/vcs/f1fdc5cc42a6995f954688df06783c05d28e4a60e9aaf6930a88a2487b913907: exit status 128:
                fatal: could not read Username for 'https://github.com': terminal prompts disabled

似乎存在“版本”问题,并且由于某种原因仍然存在对 https 的引用。我还能做什么?


解决方案


可以肯定的是,我更喜欢在 git config 命令中使用引号:

git config --global url."[email protected]:".insteadof "https://github.com/"

请参阅此 gist as an example。

它包括:

使用 [email protected] 的替代方法是在您的 github 帐户上生成个人访问令牌,授予其存储库访问权限,然后使用以下命令:

git config --global url."https://${github_token}:[email protected]/".insteadof "https://github.com/"

另请检查“go get results in 'terminal prompts disabled' error for GitHub private repo”,其中提到了 goprivate 的使用。

为了能够使用 go 1.18 拉取我的私有模块,我必须做两件事:

  1. 相当于 @vonc 的答案,将以下两行添加到我的 ~/.gitconfig 中:
[url "ssh://[email protected]/"]
        insteadof = https://github.com/
  • 将我的私有模块 git 路径的每个显式添加到 goprivate 变量:
  • go env -w GOPRIVATE="github.com/projname/mod1,github.com/projname/mod2,github.com/projname/mod3"

    我认为这是必要且充分的,或者至少是充分的。

    今天关于《在 golang 中导入私有仓库时版本和 https 引用无效》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!

    阅读原文内容投诉

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    软考中级精品资料免费领

    • 历年真题答案解析
    • 备考技巧名师总结
    • 高频考点精准押题
    • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

      难度     813人已做
      查看
    • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

      难度     354人已做
      查看
    • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

      难度     318人已做
      查看
    • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

      难度     435人已做
      查看
    • 2024年上半年系统架构设计师考试综合知识真题

      难度     224人已做
      查看

    相关文章

    发现更多好内容

    猜你喜欢

    AI推送时光机
    位置:首页-资讯-后端开发
    咦!没有更多了?去看看其它编程学习网 内容吧
    首页课程
    资料下载
    问答资讯