为了账号安全,请及时绑定邮箱和手机立即绑定

VS Code Go 扩展无法加载,因为它无法更改 go.mod?

VS Code Go 扩展无法加载,因为它无法更改 go.mod?

Go
FFIVE 2022-08-09 16:18:15
这个问题似乎在 Go 更新到 go.mod required 中被问到过,由 -mod=readonly 禁用:包。加载错误,但在那里没有得到回答,所以重新发布它。运行Go 1.15.7,我正在尝试加载带有一个Go项目的Go项目,但VS Code显示一条通知,并出现以下错误:go.modError loading workspace: err: exit status 1: stderr: go: updates to go.mod needed, disabled by -mod=readonly : packages.Load error似乎启用了只读模式,但我不知道如何禁用此功能。我尝试过简单地增加 文件权限 ,go.modchmod a+w go.mod但无济于事。任何想法如何修复此错误并允许Go扩展加载?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

此错误似乎已通过运行自行解决

go mod tidy

手动地。不过,我仍然很好奇是什么原因造成的,因为扩展可能仍无法完全正常工作。


查看完整回答
反对 回复 2022-08-09
?
心有法竹

TA贡献1866条经验 获得超5个赞

您可以通过添加 gopls 构建参数来轻松解决此问题,该参数允许从超出范围的模块导入。settings.json


大致如下:


{

    "gopls": {

    "build.allowModfileModifications": true

    }

}

参考:https://github.com/golang/vscode-go/blob/master/docs/settings.md#buildallowmodfilemodifications


以及更多的上下文:


在 Go 1.16 中,Go 命令将不再自动修改用户的 go.mod 和 go.sum 文件(https://tip.golang.org/doc/go1.16#tools)。为了匹配此行为,gopls 现在在运行 go 命令时也使用 -mod=readonly。go 命令报告的任何错误都将显示建议的修复程序,以便对 go.mod 或 go.sum 文件进行必要的修复。因此,当您的 go.mod 或 go.sum 文件中出现错误时,您的工作区可能处于部分损坏状态。golang/go#42266 将缓解此问题,但可能要到 2 月份才能解决。


不建议:如果必须选择退出此行为,则可以将 allowModfileModifications 配置设置为 true。


查看完整回答
反对 回复 2022-08-09
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

检查“问题”部分或相应的文件。当检测到此类问题时,gopls 会提供快速修复以及如何在那里解决这些问题的提示。如果不是,那就是一个错误。go.mod



查看完整回答
反对 回复 2022-08-09
  • 3 回答
  • 0 关注
  • 761 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号