本文将为大家详细介绍“golang.org/x一键安装脚本的示例分析”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“golang.org/x一键安装脚本的示例分析”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。
golang适合做什么
golang可以做服务器端开发,但golang很适合做日志处理、数据打包、虚拟机处理、数据库代理等工作。在网络编程方面,它还广泛应用于web应用、API应用等领域。
golang.org/x一键安装脚本
背景
由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错:
$ go get collidermainpackage 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)
原理
其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/net
即是 https://golang.org/x/net
的镜像库
获取 golang.org/x/net 包,其实只需要以下步骤:
mkdir -p $GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/xgit 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下的bashcd $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" "oauth3" "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
注意
在运行脚本的过程,应为git clone 太频繁,需要输入你的GitHub账号。
如果你能读到这里,小编希望你对“golang.org/x一键安装脚本的示例分析”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注编程网行业资讯频道!