【发布时间】:2017-12-22 20:09:22
【问题描述】:
我将 Goland 2017.3 与 Go 1.9.2 一起使用,并且有一个带有复制 DigitalOcean monorepo 的 govendor 的自定义 GOPATH,如下所述:https://blog.digitalocean.com/cthulhu-organizing-go-code-in-a-scalable-repo/
结构如下:
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 和govendor build 构建代码没有问题。 govendor 解析所有依赖并构建项目。
但是,当我尝试在 GoLand 中设置 GOPATH 并将 PROJECT GOPATH 设置为 $HOME/gocode 时,GoLand 停止识别标准库,因为它开始在 vendor:$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files 中寻找标准库。如果我删除 PROJECT GOPATH 它会找到标准库,但不会找到单声道存储库中的代码。
如何让 GoLand 停止在 vendor 中查找标准库?
编辑:GOROOT 在 IDE 中保持为标准:screenshot of GOROOT
【问题讨论】:
-
你在哪里换
GOROOT? -
我编辑了上面的帖子,并回复了这条评论!