我将 Goland 2017.3 与 Go 1.9.2 一起使用,并有一个带有复制 DigitalOcean monorepo 的 govendor 的自定义 GOPATH,如下所述:https ://blog.digitalocean.com/cthulhu-organizing-go-code-in-a -可扩展回购/
结构如下所示:
gocode
├── .env.sh
├── bin
├── src
│ └── acmecorp
│ ├── teams
│ └── vendor
├── pkg
.env.sh
看起来像这样:
SCRIPT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "${0}"`
GOCODE=$(dirname $SCRIPT)
export GOPATH="$GOCODE"
export PATH="$PATH:$GOPATH/bin"
source .env.sh
我用and构建代码没有问题govendor build
。govendor
解决所有依赖关系并构建项目。
但是,当我尝试GOPATH
在 GoLand 中设置并设置PROJECT GOPATH
为 时$HOME/gocode
,GoLand 停止识别标准库,因为它开始在vendor
:中查找标准库$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files
。如果我删除PROJECT GOPATH
它,它会找到 stdlib,但不会找到 mono repo 中的代码。
我怎样才能让 GoLand 停止寻找标准库vendor
?
编辑:GOROOT
在 IDE 中保持为标准:GOROOT 的屏幕截图