当我打开我的 Goland 项目时,会运行以下命令:
/usr/local/Cellar/go/1.14/libexec/bin/go list -m -json all #gosetup
它的输出是以下错误:
go list -m: can't compute 'all' using the vendor directory
(Use -mod=mod or -mod=readonly to bypass.)
Goland 无法解析我正在导入的包。
当我从命令行构建和运行项目时,它工作正常。
我的项目结构如下:
app/
bin/
pkg/
src/
app/
cmd/
vendor/
go.mod
我的
GOROOT
是 /usr/local/Cellar/go/1.14/libexec
和我的GOPATH
是 app/
.在 Goland 设置中,在 Go/GOPATH 下已选中“使用系统环境中定义的 GOPATH”和“索引整个 GOPATH”的复选框。
在 Go/Go 模块 (vgo) 下,我检查了“启用 Go 模块 (vgo) 集成”和“vendor 模式”
当我更改
GOPATH
时,我刚刚注意到至/Users/myname/sdk/go1.13.4
, 问题已经解决了。这可能是 Homebrew 的问题还是我不知道的 go 1.14 引入的更改?我在描述这个问题时很详尽,因为我不熟悉 Go,可能会遗漏一些明显的东西。
谢谢!
最佳答案
由于 Go 1.14 中的工具更改,这是 Go 模块和 vendor 支持的一个已知问题。
因此,请尝试使用 EAP 版本的 IDE,https://jetbrains.com/go/nextversion ,其中包含对此的修复。
我们在 https://youtrack.jetbrains.com/issue/GO-8855 下跟踪此问题并考虑将其反向移植到 2019.3 发布周期。
关于Goland 无法使用 Go 1.14 识别我的 vendor 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60413697/