• go get 拉取报错The project you were looking for could not be found的解决方法


    go get 拉取报错The project you were looking for could not be found的解决方法

    被这玩意折腾了一下午

    报错提示

    remote: The project you were looking for could not be found or you don’t have permission to view it. fatal: repository ‘https:/gitlab.xxx.net/xxx/yyy/zzz.git’ not found

    看起来是项目不存在或者没权限,实际这两者都是正常的,但就是go get报错,奇怪的很

    排查记录

    GOPRIVATE导致

    网上说这是因为私有库的原因,要使用git config增加instead等等,但PRIVATE问题这个问题的报错还是有点不一样的。所以无效

    GOPROXY导致

    无效,没啥关系

    增加参数-x, go get 问题?

    文档说go get -x 可以看到go get具体执行时的debug日志。我试下了,还真有用,显示的get 路径是这样的:

    1. go get https:/gitlab.xxx.net/xxx/yyy/zzz.git@v1.0.0 200 OK
    2. go get https:/gitlab.xxx.net/xxx/yyy.git@v1.0.0 200 OK
    3. not found zzz version v1.0.0

    看完日志我晕了,好好的请求zzz.git为什么又跳到上一级目录yyy呢?

    后面我看到了老外对此相关的讨论,有老外说他也遇到了类似问题,只要拉取多级目录的git,就会报错,讨论到最后他说**“ignore me,gitlab issue”**。

    难道是Gitlab问题,这解决难度很大,几乎是搞不定的。顺着这篇讨论的关键词搜索了其他讨论,看到最后说是go get 解析的问题,说是已经fix了,拉到最后,表示go 1.13就已经修复了,那为啥我用1.18还报错?

    解决之道

    go 1.13只是前提,在其他搜索结果中,终于找到了答案。

    新建~/.netrc文件,配置git.yy.com登录信息,样式如下:
    machine git.yy.com login username password git_password
    其中username为git用户名
    git_password为git.yy.com access_token

    文件配置好,go get 成功,完美!
    PS: 还有后续
    后面我又遇到了类似的错误,真是服了,刚搞定这个有来了另外一个错误。然后我把git版本降了一下就没事了。。。

    本回完
  • 相关阅读:
    力扣打卡之单调栈问题
    Redis 内存淘汰策略
    Gateway:网关
    JavaScript 67 JavaScript HTML DOM 67.7 JavaScript HTML DOM - 改变 CSS
    简单记录下gin中使用中间件记录操作日志
    SQL实用功能手册
    面试官:做过支付资产?那先聊聊热点账户吧
    Vue2和Vue3的区别——实例创建、响应式数据代理、v-for和v-if优先级、生命周期
    Redis 6.0 新功能
    肖sir___环境的讲解详情__002
  • 原文地址:https://blog.csdn.net/mythest/article/details/126613864