Maison  >  Article  >  développement back-end  >  Explication détaillée du script d'installation en un clic de golang.org/x

Explication détaillée du script d'installation en un clic de golang.org/x

藏色散人
藏色散人avant
2021-02-28 16:13:323183parcourir

Ce qui suit est une introduction au script d'installation en un clic de golang.org/x de la colonne du didacticiel golang. J'espère qu'il sera utile aux amis dans le besoin !

golang.org/x script d'installation en un clic

Contexte

En raison de divers problèmes, go get est utilisé pour installer golang package officiel en Chine Cela peut échouer. Par exemple, lorsque j'ai moi-même installé collisiondermain, l'erreur suivante s'est produite :

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

Principe

En fait, golang a établi une bibliothèque miroir sur github, telle que https://github.com/golang/net est https://golang.org/x/net Bibliothèque miroir

Pour obtenir le package golang.org/x/net, vous n'avez besoin que des étapes suivantes :

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/net.git

Cette méthode peut être utilisée pour obtenir d'autres packages sous golang.org/x.

J'ai donc écrit un script bash ici pour installer le package golang.org/x en un seul clic

  • Utilisateur Windows git-bash pour exécuter le script gox.sh
  • *Les utilisateurs Unix chmod +x gox.sh ajoutent d'abord des autorisations exécutables. Utilisez ./gox.sh pour effectuer une installation en un clic
#!/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

Notez que

devrait également être git clone pendant le processus de en exécutant le script, vous devez fréquemment saisir votre compte GitHub.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer