登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-24 09:45:26 207浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《VSCode Go 扩展加载具有私有存储库依赖项的工作区时出错》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

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

Error loading workspace: err: exit status 1: stderr: go:
bitbucket.org/my-group/[email protected]: 
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/[email protected]: 
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. 还有其他解决方法吗?

正确答案


  1. 它会尝试获取您的依赖项的来源,以便为您生成实际的建议。它想要加载源 go 模块样式,我猜您的依赖项位于 gopath 中。您希望它能够优雅地处理连接错误,并仍然为它可以访问的代码提供补全,所以也许这是一个错误,考虑在 github 上创建一个问题(我不知道哪个项目)。
  2. 在这种情况下,通过执行以下修复,您也将能够使用 go mod 来处理私有依赖项,而不必以“旧时尚”方式手动管理依赖项。 go 模块默认使用 git,您可以通过将以下内容添加到全局 git 配置文件来指示 git 始终使用 ssh 而不是 https:
[url "[email protected]:"]
    insteadOf = https://bitbucket.org/

假设您不需要任何特殊配置来进行正常的 git over ssh 操作,您的私钥应该会自动使用。

  1. go 模块支持通过 vendor 目录包含依赖项。如果您将依赖项放在那里,代码完成应该使用它而不是尝试下载它。但我无法证实这一点,从未尝试过

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《VSCode Go 扩展加载具有私有存储库依赖项的工作区时出错》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>