package golang.org/x/sys/unix: unrecognized import path “golang.org/x/sys/unix” (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

root@venus:~/桌面/go_project/process# go get -t golang.org/x/sys/unix
package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

在用go get安装包时出错,这个是因为被墙了(不明白为什么)。

这里通过配置代理后再安装需要的包

# shell中设置http、https代理

root@venus:~/桌面/go_project/process# export http_proxy=http://127.0.0.1:1111
root@venus:~/桌面/go_project/process# export https_proxy=http://127.0.0.1:1111

# 忽略某个地址走代理,多个用逗号隔开,支持域名或ip

root@venus:~/桌面/go_project/process# no_proxy="www.rootop.org"

127.0.0.1:1111 是我本地shadowsocks-Qt5客户端监听的地址。


在shell中通过设置http_proxy和https_proxy两个变量,可以提供给curl、wget之类的命令自动走代理。同样go get时也会自动找这俩变量实现代理。
再次安装解决。

cmd/go: unsupported GOOS/GOARCH pair linux /amd64

windows下go编译成linux可执行文件报错:
cmd/go: unsupported GOOS/GOARCH pair linux /amd64

操作步骤如下:
D:\web\go>SET CGO_ENABLED=0
D:\web\go>SET GOOS=linux 
D:\web\go>SET GOARCH=amd64
D:\web\go>go build moniterLogstash.go

最后还是在 https://github.com/golang/go/issues/24501#issuecomment-375682124 找到原因。
是因为在 SET GOOS=linux 这句后面多了个空格(直接复制的命令。。。)
编译器也没有自动去掉多余的空格,不容易发现错误原因。