代码编译得很好,但是当使用 replace 指令将包名称映射到本地目录时,Go linter 无法选择它。我在 VSCode 和 Goland 上都试过这个,两者都有如下所示的 lint 错误。该图像是额外信息,所有代码和错误消息都以文本格式显示在下面。存储库:https ://github.com/webberwang/go-lint-error这是文件夹结构:/core /calc math.go go.mod/main app.go go.mod// main/app.gopackage mainimport ( "fmt" "github.com/codelabstudios/core/calc" <- ERROR "Cannot resolve directory 'core'")func main() { result := calc.Add(1, 2) <- ERROR "Unresolved reference 'Add'" fmt.Println("calc.Add(1, 2) => ", result)}// main/go.modmodule github.com/codelabstudios/maingo 1.14require github.com/codelabstudios/core v0.0.0-00010101000000-000000000000replace github.com/codelabstudios/core => ../core// core/calc/math.gopackage mainimport ( "fmt" "github.com/codelabstudios/core/calc")func main() { result := calc.Add(1, 2) fmt.Println("calc.Add(1, 2) => ", result)}// core/calc/go.modmodule github.com/codelabstudios/corego 1.14
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
经过一番挖掘,我发现“替换”指令是 Vgo 提案的一部分(V 代表版本控制)。这在 1.11 中与 Go 合并。
要修复本地模块导入错误,我们只需要在 IDE 中启用“Vgo 集成”即可。
- 1 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消