使用homebrew 安装了go
然后在.zshrc中做了如下的配置:
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/workspace/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
但是当我在$Home/workspace/go/src/restful/ 目录下运行:
sudo go run *.go
提示package not found
router.go:4:2: cannot find package "github.com/gorilla/mux" in any of:
/usr/local/Cellar/go/1.8.3/libexec/src/github.com/gorilla/mux (from $GOROOT)
/Users/skyfynn/go/src/github.com/gorilla/mux (from $GOPATH)
然后我echo $GOPATH 得到的与go env 的一致,也就是:$HOME/workspace/go
为什么go run 执行时搜索的GOPATH是$HOME/go 呢?
求解答!!!谢谢~
sudo go run *.go
echo $GOPATH
go env
很明显,后面俩少了个sudo。sudo指的是用root账户的权限(包括root的环境变量)来运行,你自己设置的环境变量当然就不生效了。