GoLand无法正确识别项目下Vendor目录的解决方案

GoLand 无法正确识别Vendor目录

问题描述:

使用GoLand打开项目后,发现vendor目录虽然包含在项目中,但是GoLand并没有正确识别,在查找外部依赖项时,会直接使用GOPATH路径下的依赖项


vendor_not_identify

打开GoLand的GOPATH配置,发现默认的GOPATH设置如下:


gopath_setting_1

我的GOPATH指向的文件夹其实是一个软链接

➜  ~ ll go  
lrwxr-xr-x  1 xxxx  staff    36B 10 26  2017 go -> /Volumes/Workspace/go1.9Workspace/go

解决方法:

重新设置Golbal GOPATH,设置GOPATH指向软链接指向的文件夹


gopath_setting_2

GoLand可以正确识别本项目下的vendor文件夹了


successful

Ps:经常遇到的另外一种情况:

GOPATH环境变量没有正确设置时,GoLand也会无法正确识别vendor目录。
为此,请确保GOPATH环境变量指向的目录下,拥有正确的Golang文件夹层级结构,需包含srcbinpkg三个子文件夹,且项目代码需位于$GOPATH/src文件夹下。
参考:
https://youtrack.jetbrains.com/issue/GO-4237

本文使用CC BY-NA-SA 4.0协议许可
本文链接:http://404-notfound.com/vendor-workaround/