GOPATH正在寻找不同的道路

时间:2018-11-05 12:27:55

标签: go

我在〜/ .bashrc中将GOPATH和GOROOT设置为:

export GOROOT=/usr/lib/go-1.10

export GOPATH=/home/user/go/pkg

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

每当我尝试使用main.go进行构建时,我都会得到。

  

main.go:4:2:在以下任意位置均找不到软件包“ google.golang.org/grpc/examples/grpcdemo/pb”:   /usr/lib/go-1.10/src/google.golang.org/grpc/examples/grpcdemo/pb(从$ GOROOT起)       /home/user/go/src/google.golang.org/grpc/examples/grpcdemo/pb(来自$ GOPATH)

问题是,为什么在GOPATH设置为home/user/go/src的情况下在/home/user/go/pkg内查找。因此,我期望在/home/user/go/pkg/src/google.golang.org/grpc/examples/grpcdemo/pb内部安装软件包。 它不应该在/home/user/go/pkg内部吗?

2 个答案:

答案 0 :(得分:0)

可能应该有

export GOPATH=/home/user/go

export PATH=$GOPATH/bin:$PATH
  • 完全不要使用GOROOT(为了安全起见,请unset GOROOT
  • pkg在GOPATH以下

答案 1 :(得分:0)

运行$ go env并检查输出是否包含以下内容:

  1. GOPATH="/home/user/go"
  2. GOROOT="/usr/local/go"

如果没有,则在~/.bashrc文件中像下面这样使用

export GOPATH=$HOME/go
# No need to set GOROOT since it is set /usr/local/go by default
export PATH=$GOPATH/bin:/usr/local/go/bin:$PATH

现在以bash运行$ source ~/.bashrc。就是这样。