Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GOPATH正在寻找不同的路径_Go - Fatal编程技术网

GOPATH正在寻找不同的路径

GOPATH正在寻找不同的路径,go,Go,我已将~/.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/

我已将~/.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)

问题是,当我将GOPATH设置为
/home/user/go/pkg
时,为什么要查看
home/user/go/src
。所以,我希望包中有
/home/user/go/pkg/src/google.golang.org/grpc/examples/grpcdemo/pb
。 它不应该在
/home/user/go/pkg
中查看吗

可能应该有

export GOPATH=/home/user/go

export PATH=$GOPATH/bin:$PATH
  • 根本不要使用GOROOT(为了安全起见,请取消GOROOT设置)
  • pkg位于GOPATH下方
    • 可能应该

      export GOPATH=/home/user/go
      
      export PATH=$GOPATH/bin:$PATH
      
      • 根本不要使用GOROOT(为了安全起见,请取消GOROOT设置)
      • pkg位于GOPATH下方

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

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

      不要设置GOROOT!并确保您实际拥有$GOPATH/src,并且您的bashrc已被实际读取。@samrat_shakya您能把
      $go env
      的结果放进去吗?不要设置GOROOT!并确保您实际拥有$GOPATH/src,并且您的bashrc已被实际读取。@samrat_shakya您能把
      $go env
      的结果放进去吗?