首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有私有存储库依赖项的VSCode Go扩展错误加载工作区

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

Stack Overflow用户
提问于 2021-11-09 11:25:15
回答 1查看 1.5K关注 0票数 1

在我添加了私有存储库的依赖之前,一切都很正常。我注意到自动完成停止工作,并且vscode发出了错误通知:

代码语言:javascript
复制
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. 如果有必要,我如何为go扩展提供我的SSH密钥?
  3. 其他解决办法?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 12:08:04

  1. 它尝试获取依赖项的源,以便为您生成实际的建议。它希望加载源go模块样式,我猜您的依赖项位于GOPATH中。您可能希望它能够优雅地处理连接错误,并且仍然为它可以访问的代码提供完成,所以可能这是一个bug,请考虑在github上创建一个问题(我不知道是哪个项目)。
  2. 在本例中,也是如此,通过执行以下修复,您也可以将go mod用于私有依赖项,而不必以“旧方式”的方式手动管理依赖项。Go模块默认使用Git,可以通过在全局git配置文件中添加以下内容,指示git始终使用SSH而不是HTTPS:
代码语言:javascript
复制
[url "git@bitbucket.org:"]
    insteadOf = https://bitbucket.org/

您的私钥应该自动使用,假设您不需要对ssh操作上的普通git进行任何特殊配置。

  1. Go模块支持通过供应商目录包含依赖项。如果您将依赖项放在其中,代码完成应该使用它,而不是尝试下载它。但我不能证实这一点,从来没有试过
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69897276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档