我在〜/ .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
内部吗?
答案 0 :(得分:0)
可能应该有
export GOPATH=/home/user/go
export PATH=$GOPATH/bin:$PATH
unset GOROOT
)答案 1 :(得分:0)
运行$ go env
并检查输出是否包含以下内容:
GOPATH="/home/user/go"
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
。就是这样。