我将 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 的屏幕截图