Bash $GOPATH安装json2csv时出错
我正在运行Linux 3.16.0-4-amd64 x86_64。 我想安装json2csv 我尝试:Bash $GOPATH安装json2csv时出错,bash,go,Bash,Go,我正在运行Linux 3.16.0-4-amd64 x86_64。 我想安装json2csv 我尝试: sudo go get github.com/jehiah/json2csv 并获得: package github.com/jehiah/json2csv: cannot download, $GOPATH not set. For more details see: go help gopath go已安装: GOARCH="amd64" GOBIN="" GOCHAR="6" G
sudo go get github.com/jehiah/json2csv
并获得:
package github.com/jehiah/json2csv: cannot download, $GOPATH not set. For more details see: go help gopath
go已安装:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
我设定:
export GOROOT=/usr/bin/go
export GOPATH=$HOME/projects/go
但我还是犯了同样的错误
有什么想法吗?原因是您在使用
sudo
时丢失了一些ENV您可以使用
-E
来保存它
您可以在这里查看:但是你应该不要使用sudo去获取 顺便说一下,您可以将env保存在
.bash\u profile
中,这样它就可以自动加载
在这种情况下,您应该使用
export GOROOT=/usr/local/go
export GOPATH=$HOME/projects/go
请注意,GOROOT
是go的文件夹,而不是go的二进制文件
那么,不要sudo了
go get github.com/jehiah/json2csv
永远不要去拿。从未。另外:永远不要设置GOROOT(除非您知道自己在做什么)。不仅不应该设置GOROOT,而且对于GOROOT来说这不是一个有效的值。PATH、GOPATH等环境变量应该始终在配置文件中,而不是在rc文件中。@JimB谢谢,这样做是一个好习惯,更新了我的答案。那么这种情况下的解决方案是什么?@xxxvinxxx我再次更新了我的答案,实际上,没有sudo的go get应该可以。正如上面的评论所述,不要设置GOROOT(并且/usr/bin/go绝对不是GOROOT的值)