“go get google.golang.org/grpc”失败:无法识别的导入路径

问题描述:

因此,我试图安装我的Go应用程序的依赖关系在我的Raspberry 3/Raspbian系统上,“go get”并在尝试安装时运行GRPC对围棋:“go get google.golang.org/grpc”失败:无法识别的导入路径

[[email protected] camera-service] 17:32:28 % go get google.golang.org/grpc 
package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp: lookup google.golang.org on 192.168.1.1:53: read udp 192.168.1.64:33524->192.168.1.1:53: i/o timeout) 

同时我能够安装其他(non-google.golang.org)的依赖关系(例如去拿github.com/asaskevich/EventBus)就好了。

对我来说,这看起来是一个DNS问题 - 192.168.1.1是我的路由器,192.168.1.64是我的RPi。但我可以解决的地址就好:

[[email protected] camera-service] 17:32:52 % host google.golang.org 
google.golang.org is an alias for golang.org. 
golang.org has address 216.58.209.145 
golang.org has IPv6 address 2a00:1450:400f:804::2011 
golang.org mail is handled by 1 aspmx.l.google.com. 
golang.org mail is handled by 2 alt2.aspmx.l.google.com. 
golang.org mail is handled by 2 alt1.aspmx.l.google.com. 
golang.org mail is handled by 2 alt3.aspmx.l.google.com. 

这很奇怪。另外我在另一个系统np上安装了相同的软件包。

我的环境是

- Go 1.8.3, installed from prebuilt ARM6 binary 
- export GOROOT="/usr/local/go" 
- export GOPATH="/home/pi/go" 
+0

尝试'的ping -a google.golang.org'这是一个DNS错误,请尝试做'去获得google.golang.org/grpc'在笔记本电脑 –

+0

去得到google.golang.org/grpc从我的笔记本电脑工作,就像我提到的帖子结尾,其他服务也解决了google.golang.org在RPi上的罚款。 – Matti

这可能是因为您使用的是内置的DNS解析器中去,而不是委托给系统名称解析。当你建立gRPC时,你是否设置了CGO_ENABLED=1?您可以通过设置GODEBUG=netdns=cgo越来越GRPC时检查:

$ GODEBUG=netdns=cgo go get google.golang.org/grpc

+0

我自己没有编译Go,我安装了预建的ARM6 Linux软件包。啊,我不知道Go有自己的DNS解析器,这解释了一些事情。 – Matti

+0

你可以试试编译去吗?这很容易做,并会告诉你,如果这是原因。 –