VSCode中Go项目go.mod出现packages.Load Error的永久解决方法
解决VSCode中Go项目
-mod=vendor报错及代码补全问题 报错信息
packages.Load error: err: exit status 1: stderr: build flag -mod=vendor only valid when using modules
永久解决方案
1. 修正VSCode Go插件的强制vendor配置
- 打开VSCode设置(快捷键:
Ctrl+,) - 搜索
go.toolsEnvVars,点击「编辑 in settings.json」 - 检查是否存在
GOFLAGS="-mod=vendor"配置,若有则删除该行,或修改为"GOFLAGS": "" - 同时确认
go.useLanguageServer已启用(搜索该选项,勾选启用)
2. 确保全局/项目启用Go模块模式
- 在项目根目录终端执行:
若输出为go env GO111MODULEoff,执行以下命令全局启用模块模式:go env -w GO111MODULE=on
3. 清理并重建依赖
- 删除项目根目录下的
vendor文件夹(若存在):# Linux/Mac rm -rf vendor # Windows rmdir /s vendor - 执行依赖整理:
go mod tidy - 若确实需要使用vendor管理依赖,再执行:
go mod vendor
4. 重启Go语言服务
- 打开VSCode命令面板(快捷键:
Ctrl+Shift+P) - 输入
Go: Restart Language Server并执行,让配置生效
问题原因
该报错是因为-mod=vendor编译标志仅在Go模块模式下有效,要么是项目未启用模块模式,要么是VSCode Go插件强制添加了该标志但模块模式未开启,导致依赖加载冲突,进而影响代码补全和包导入功能。
内容的提问来源于stack exchange,提问作者asz
相关产品推荐
相关产品推荐

