尝试使用Glide
设置go项目。运行命令Cannot detect VCS
时发现错误glide up -v
。
[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
答案 0 :(得分:1)
我看到使用glide update
使用Glide 0.13.2以及Go版本1.10.6和1.11.5的情况类似。
使用更详细的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
BUT 这确实使我看到了我的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-cache
和glide mirror
一起钻进兔子洞,这两个都是泊松胭脂。
希望这可以帮助处于相同情况的其他人:-)
答案 1 :(得分:0)
一开始我对https://
有依赖性时,我遇到了这个问题。我只是删除了它,使它看起来像github.com/dependency
并解决了问题。
答案 2 :(得分:0)
我自己也遇到过这个问题,想补充一下以供参考。
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 依赖项,我手动从 https-github.com-BurntSushi-toml
文件夹中删除了文件夹 .cache
。
然后我再次运行命令 glide --debug up
。我再次面临同样的错误。我花了一段时间才意识到 io/fs
是 Go 1.16 版本中的新增功能。
这种情况下的问题是由于软件包更新到最新版本。当我在 go version 1.16
时,最新版本的 toml 软件包需要一个 version 1.13
。因此,我需要恢复到我之前在 glide.lock 中使用的旧版本 toml(我添加了一些依赖项并希望对它们运行更新,旧版本的 toml< /em> 包对我来说已经足够了)。
错误 Cannot detect VCS
是非常普遍的错误,您可能需要查看错误以了解发生了什么并相应地进行修复。