【问题标题】:Glide update Cannot detect VCSGlide 更新无法检测到 VCS
【发布时间】:2018-08-07 09:08:34
【问题描述】:

尝试使用 Glide 设置 go 项目。当我运行命令glide up -v 时,我一直在发现错误Cannot detect VCS

错误:

[ERROR] Error looking for project/base: Cannot detect VCS
[INFO]  --> Fetching project/form
[WARN]  Unable to checkout project/form
[ERROR] Error looking for project/form: Cannot detect VCS
[INFO]  --> Fetching project/api
[WARN]  Unable to checkout project/api
[ERROR] Error looking for project/api/request: Cannot detect VCS
[INFO]  --> Fetching updates for github.com/go-openapi/analysis

【问题讨论】:

    标签: go glide-golang


    【解决方案1】:

    我使用 Glide 0.13.2 和 Go 版本 1.10.6 和 1.11.5 看到了类似的使用 glide update

    使用更详细的glide --debug update,我发现了更多细节:-

    [DEBUG] ImportDir error on /Users/hayd/.glide/cache/src/https-crypto-tls: cannot find package "." in:
        /Users/hayd/.glide/cache/src/https-crypto-tls
    
    

    但是这确实让我查看了我的 Git 源文件夹 - $GOPATH/src - 其中包括以下内容:-

    drwxr-xr-x   3 hayd  staff   96 29 Mar 19:31 crypto
    

    这是一个包含单个空子目录的目录:-

    drwxr-xr-x  2 hayd  staff   64 29 Mar 19:33 tls
    

    所以这有点与--debug 跟踪中显示的症状有关,即cannot find package ".",即使它位于完全不同的位置。

    当我使用rm -Rf $GOPATH/src/crypto 时,glide update 就很有效了。

    我之前和glide clear-cacheglide mirror 一起掉进了兔子洞,它们都是胭脂红。

    希望这对处于相同情况的其他人有所帮助:-)

    【讨论】:

      【解决方案2】:

      我在开始时依赖于 https:// 时遇到了这个问题。我只是删除了它,所以它看起来像github.com/dependency,它解决了这个问题。

      【讨论】:

        【解决方案3】:

        我自己也遇到过这个问题,想在这里补充一下以供参考。

        Go Version : go version go1.13.4 darwin/amd64
        
        [DEBUG] Trying to open github.com/BurntSushi/toml (/Users/folder/.glide/cache/src/https-github.com-BurntSushi-toml)
        [DEBUG] Package github.com/BurntSushi/toml imports io/fs
        [DEBUG] Missing io/fs. Trying to resolve.
        [INFO]  --> Fetching io/fs
        [WARN]  Unable to checkout io/fs
        [ERROR] Error looking for io/fs: Cannot detect VCS
        

        我在运行glide --debug up 命令时遇到了上面显示的错误。意识到问题出在 toml 依赖项上,我手动从 .cache 文件夹中删除了文件夹 https-github.com-BurntSushi-toml

        然后我又运行了命令glide --debug up。我再次面临同样的错误。我花了一段时间才意识到 io/fs 是 go 1.16 版本中的新增功能。

        本例中的问题是由于将软件包更新到了​​最新版本。 toml 软件包的最新版本需要 go version 1.16,而我在使用 version 1.13。因此,我需要恢复到之前在 glide.lock 中使用的旧版本的 toml(我添加了一些依赖项并希望对它们运行更新,旧版本的 toml 包对我来说已经足够好了)。

        错误Cannot detect VCS 是非常普遍的错误,您可能需要查看错误以了解发生了什么并相应地进行修复。

        【讨论】:

          猜你喜欢
          • 2023-03-05
          • 2016-02-13
          • 2016-01-05
          • 2017-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-02
          相关资源
          最近更新 更多