因此,我尝试使用“go get”在我的Raspberry 3 / Raspbian系统上安装Go应用程序的依赖项,并在尝试安装gRPC for Go时运行以下内容:
[pi@raspberrypi-1 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)
与此同时,我可以安装其他(nongoogle.golang.org)依赖项(例如go get github.com/asaskevich/EventBus)。
对我来说,这看起来是一个DNS问题 - 192.168.1.1是我的路由器,192.168.1.64是我的RPi。但是我可以很好地解决这个问题:
[pi@raspberrypi-1 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.
这很奇怪。我也在另一个系统上安装了相同的软件包。
我的环境是
- Go 1.8.3, installed from prebuilt ARM6 binary
- export GOROOT="/usr/local/go"
- export GOPATH="/home/pi/go"
答案 0 :(得分:0)
这可能是因为您在Go中使用内置DNS解析程序,而不是委派给系统名称解析程序。当你构建gRPC时,你设置了CGO_ENABLED=1
吗?您可以在获取gRPC时设置GODEBUG=netdns=cgo
进行检查:
$ GODEBUG=netdns=cgo go get google.golang.org/grpc