Hintergrund
Aufgrund verschiedener Probleme kann die Verwendung von go get zum Installieren des offiziellen Golang-Pakets in China fehlschlagen. Wenn ich beispielsweise collidermain selbst installiert habe, tritt möglicherweise der folgende Fehler auf aufgetreten:
$ go get collidermain package golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/websocket" (https fetch: Get https://golang.org/x/net/websocket?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
Prinzip
Tatsächlich hat Golang eine Spiegelbibliothek auf Github eingerichtet, z. B. https://github.com/golang/net
, die https://golang ist Die Spiegelbibliothek von .org/x/ net
ruft das Paket golang.org/x/net ab. Tatsächlich sind nur die folgenden Schritte erforderlich: https://github.com/golang/net
即是 https://golang.org/x/net
的镜像库
获取 golang.org/x/net 包,其实只需要以下步骤:
mkdir -p $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x git clone https://github.com/golang/net.git
其它 golang.org/x 下的包获取皆可使用该方法。
所以在这里写了一个bash脚本一键安装golang.org/x的包
- windows用户 git-bash 来执行gox.sh这个脚本
- *unix用户 先
chmod +x gox.sh
添加可以执行权限.在使用./gox.sh
#!/usr/bin/env bash #为了兼容windows下的bash cd $GOPATH; #创建 $GOPATH/src/golang.org/x 目录 mkdir -p $GOPATH/src/golang.org/x; echo "已经安装的golang.org/x package"; ls; echo "下面一行 for in 中包的名字您可以自己来定义" for name in "glog" "image" "perf" "snappy" "term" "sync" "winstrap" "cwg" "leveldb" "text" "net" "build" "protobuf" "dep" "sys" "crypto" "gddo" "tools" "scratch" "proposal" "mock" "oauth2" "freetype" "debug" "mobile" "gofrontend" "lint" "appengine" "geo" "review" "arch" "vgo" "exp" "time";do cd $GOPATH/src/golang.org/x; if [ -d "$name" ] then cd $name; echo $name "包已经存在,使用git pull来更新源码"; git pull; else git_url="https://github.com/golang/${name}.git"; echo "开始clone golang.org/x 在github.com上的镜像代码:${git_url}"; git clone --depth 1 "$git_url"; cd $name; fi #go install; done
Diese Methode kann verwendet werden, um andere Pakete unter zu erhalten golang.org/x.
Also habe ich hier ein Bash-Skript geschrieben, um das Paket golang.org/x mit einem Klick zu installieren
- Windows-Benutzer verwenden git-bash, um das gox.sh-Skript auszuführen
- *Unix-Benutzer zuerst chmod +x gox.sh Fügen Sie ausführbare Berechtigungen hinzu. Verwenden Sie
./gox.sh
, um eine Ein-Klick-Installation durchzuführen