我将Goland 2017.3与Go 1.9.2一起使用,并且具有带有govendor的自定义GOPATH,该复制了DigitalOcean monorepo,如此处所述: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停止识别stdlib,因为它开始在vendor
:$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files
中寻找stdlib。如果删除PROJECT GOPATH
,它将找到stdlib,但找不到单声道仓库中的代码。如何获得GoLand停止在
vendor
中寻找stdlib?编辑:
GOROOT
在IDE中保持为标准:screenshot of GOROOT 最佳答案
请在跟踪器跟踪器https://youtrack.jetbrains.com/issues/Go上打开一个问题,然后通过“帮助” |“附加”添加IDE日志。收集并显示日志。...。您只能将日志的可见性锁定为jetbrains-team
和GoLand team
,以使日志不可公开访问。
这看起来像是IDE中的bug或您身边的配置问题,但是很难确定没有日志的情况。谢谢你。
关于python - 使用自定义GOPATH和govendor在Golang IDE中没有stdlib搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47946855/