我正在使用Goland 2017.3和Go 1.9.2,并且有一个自定义的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停止识别标准库,因为它开始在vendor:$HOME/gocode/src/acmecorp/vendor/time has no buildable Go source files中查找标准库。如果我删除PROJECT GOPATH,它会找到stdlib,但不会找到mono代码库中的代码。
如何让GoLand停止在vendor中查找stdlib?
编辑:在集成开发环境中保持标准的GOROOT:screenshot of GOROOT
发布于 2017-12-23 05:00:23
请在跟踪器跟踪器https://youtrack.jetbrains.com/issues/Go上打开问题,并通过帮助|收集和显示日志...附加集成开发环境日志。您可以将日志的可见性锁定为仅限jetbrains-team和GoLand team,从而使日志不能公开访问。
这看起来要么是IDE中的错误,要么是您这边的配置问题,但如果没有日志,很难区分是哪一个问题。谢谢。
https://stackoverflow.com/questions/47946855
复制相似问题