Intellij idea 来自shell脚本的伪go环境

Intellij idea 来自shell脚本的伪go环境,intellij-idea,goland,Intellij Idea,Goland,我正在使用ultimate与goland插件和dep。我以前也在GOPATH外面工作。通常我都不知道我在使用shell脚本和Makefile来构建项目,到目前为止我对它很满意。与dep课程整合的想法迫使我在GOPATH/src内部工作。有没有办法将IDE配置为运行一个shell脚本,该脚本将伪造项目环境,设置GOPATH,GOBIN,并使dep高兴并摆脱。。。不在已知的GOPATH/src中,并且“缺少”导入 我试图通过/build/env.sh idea运行它。但仍然缺少导入和。。。不在已知的

我正在使用ultimate与goland插件和
dep
。我以前也在GOPATH外面工作。通常我都不知道我在使用shell脚本和
Makefile
来构建项目,到目前为止我对它很满意。与
dep
课程整合的想法迫使我在
GOPATH/src
内部工作。有没有办法将IDE配置为运行一个shell脚本,该脚本将伪造项目环境,设置
GOPATH
GOBIN
,并使
dep
高兴并摆脱
。。。不在已知的GOPATH/src
中,并且“缺少”导入

我试图通过
/build/env.sh idea运行它。
但仍然缺少导入和
。。。不在已知的GOPATH/src
内。同时尝试使用项目设置,似乎没有什么可以满足
gep

环境卫生署

#/垃圾箱/垃圾箱
set-e
如果[!-f“build/env.sh”];然后
echo“$0必须从存储库的根目录运行。”
出口2
fi
project=“proj”
repositoryRoot=“domain.com/username”
#如果还不存在,则创建假Go工作区。
workspace=“$PWD/build/_工作区”
root=“$PWD”
dir=“$workspace/src/$repositoryRoot”
如果[!-L“$dir/$project”];然后
mkdir-p“$dir”
cd“$dir”
ln-s../../../../../../../$项目
cd“$root”
fi
#设置使用工作区的环境。
#还添加了Godeps工作区,以便我们使用固定的依赖项进行构建。
GOPATH=“$workspace”
GOBIN=“$PWD/build/bin”
#在工作区内运行该命令。
cd“$dir/$project”
PWD=“$dir/$project”
#使用配置的环境启动参数。
执行官“$@”
生成文件

.PHONY: all test clean

GOBIN = build/bin

all:
    build/env.sh go get github.com/golang/dep/cmd/dep
    build/env.sh $(GOBIN)/dep ensure
    build/env.sh go build -v -o $(GOBIN)/proj

简单的回答是不,你不能。GoLand/IntelliJ IDEA Ultimate和Go插件无法按预期方式工作。它们尊重Go工作区布局,您应该这样构造代码


如果您从
dep
切换到Go模块,那么您就可以在任何地方创建项目,并且不受GOPATH模式的限制。您可以在这里了解更多信息。

“他们尊重Go工作区布局”他们可以尊重他们想要的任何东西,在用户调用
idea的shell中忽略ENV的愚蠢行为。
简直是愚蠢。它可能不会忽略ENV配置中的内容,只是出于多种原因忽略了符号链接。当然,最好在我们的跟踪器上打开一个问题并查看日志,但正如我所说的,在符号链接的情况下,这不会解决任何问题。你为什么不使用Go模块支持呢?我用过,很难解决这个问题。