VSCode Go 扩展错误加载具有私有存储库依赖项的工作区

一切正常,直到我添加了一个私有存储库的依赖项。我注意到自动完成功能停止工作,并且 vscode 有一个错误通知:


Error loading workspace: err: exit status 1: stderr: go:

bitbucket.org/my-group/my-private-repo@v0.0.0-20210512194559-2c29669c4ecc: 

reading https://api.bitbucket.org/2.0/repositories/my-group/my-private-repo?fields=scm: 

403 Forbidden server response: Access denied. You must have write or admin access. 

go: bitbucket.org/my-group/my-private-repo@v0.0.0-20210512194559-2c29669c4ecc: 

reading https://api.bitbucket.org/2.0/repositories/my-group/my-private-repo?fields=scm: 

403 Forbidden server response: Access denied. You must have write or admin access. 

: packages.Load error

似乎 go 扩展正在尝试访问我的私人仓库:

  1. 为什么这对于代码竞争能够起作用是必要的?

  2. 如果有必要,如何将我的 SSH 密钥提供给 go 扩展?

  3. 其他解决方法?


饮歌长啸
浏览 98回答 1
1回答

一只斗牛犬

它会尝试获取您的依赖项的来源,以便为您生成实际的建议。它想要加载源 go 模块样式,我猜你的依赖项位于 GOPATH 中。您希望它能够优雅地处理连接错误,并且仍然为它可以访问的代码提供补全,所以这可能是一个错误,考虑在 github 上创建一个问题(我不知道是哪个项目)。在这种情况下,通过执行以下修复,您也可以将 go mod 用于私有依赖项,而不必以“旧式”方式手动管理依赖项。Go 模块默认使用 Git,您可以通过将以下内容添加到全局 git 配置文件来指示 git 始终使用 SSH 而不是 HTTPS:[url "git@bitbucket.org:"]     insteadOf = https://bitbucket.org/假设您不需要任何特殊配置来进行普通的 git over ssh 操作,则应该自动使用您的私钥。Go 模块支持通过供应商目录包含依赖项。如果您将依赖项放在那里,代码完成应该使用它而不是尝试下载它。但我无法确认这一点,从未尝试过
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go