即使设置环境路径也找不到GOPATH

时间:2019-06-24 02:14:04

标签: go path environment

使用安装的root用户在Linux上运行。

在〜/ .zshrc文件中设置转到路径:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
$ ls $HOME/go
bin pkg src

$ ls $HOME/go/bin
asmfmt  dlv  errcheck  fillstruct  gocode  gocode-gomod  godef  gogetdoc  goimports  golint  gometalinter  gomodifytags  gorename  gotags  gounit  guru  iferr  impl  keyify  motion

但是go env返回了:

zsh: command not found: go

为什么?


加法

$ whereis go
go: /usr/local/go

/usr/local设置为〜/ .zshrc:

export PATH=$PATH:/usr/local/

来源。返回的运行go env

zsh: permission denied: go

1 个答案:

答案 0 :(得分:1)

正如所评论的,您的〜/ .zshrc应该将PATH设置为引用Go,如Go wiki所示:

  

编辑您的~/.zshrc文件以添加以下行:

export GOPATH=$HOME/go
  

保存并退出编辑器。然后,获取您的~/.zshrc

source ~/.zshrc

default GOPATHissue 17262中所述,您无需设置GOPATH。

但是自Go 1.11 and its modules起,您现在可以完全使用默认的GOPATH使整个项目了:所有项目都将保留在您项目的本地。

  

从Go 1.11开始,如果当前目录或任何父目录具有go,并且目录位于go.mod之外,那么$GOPATH/src命令就可以使用模块。
  (在$GOPATH/src内部,出于兼容性考虑,即使找到了goGOPATH命令仍以旧的go.mod模式运行)