详解golang.org/x一键安装脚本

发布时间:2022-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了详解golang.org/x一键安装脚本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
下面由golang教程栏目给大家介绍golang.org/x一键安装脚本,希望对需要的朋友有所帮助!

golang.org/x一键安装脚本

背景

由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错:

$ 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)

原理

其实 golang 在 gIThub 上建立了一个镜像库,如 https://github.COM/golang/net@H_304_17@ 即是 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

注意

在运行脚本的过程,应为git clone 太频繁,需要输入你的GitHub账号

以上就是详解golang.org/x一键安装脚本的详细内容,更多请关注脚本宝典其它相关文章

脚本宝典总结

以上是脚本宝典为你收集整理的详解golang.org/x一键安装脚本全部内容,希望文章能够帮你解决详解golang.org/x一键安装脚本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:bashbashshell