【问题标题】:GOPATH is looking into different pathGOPATH 正在寻找不同的路径
【发布时间】:2019-04-08 19:33:57
【问题描述】:

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

export GOROOT=/usr/lib/go-1.10

export GOPATH=/home/user/go/pkg

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

每当我尝试使用 go build 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)

问题是为什么要查看 home/user/go/src 内部,因为我已将 GOPATH 设置为 /home/user/go/pkg。所以,我期望里面有包裹/home/user/go/pkg/src/google.golang.org/grpc/examples/grpcdemo/pb。 它不应该在/home/user/go/pkg 里面看吗?

【问题讨论】:

  • 不要不要设置GOROOT!并确保你确实有 $GOPATH/src 并且你的 bashrc 确实被读取了。
  • @samrat_shakya 你能把$ go env的结果放上来吗?

标签: go


【解决方案1】:

应该有

export GOPATH=/home/user/go

export PATH=$GOPATH/bin:$PATH
  • 根本不要使用GOROOT(为了安全,请使用unset GOROOT
  • pkg 低于 GOPATH

【讨论】:

    【解决方案2】:

    运行$ 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。就是这样。

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      相关资源
      最近更新 更多