这个问题似乎在 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贡献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。
- 3 回答
- 0 关注
- 761 浏览
添加回答
举报
0/150
提交
取消
