web-dev-qa-db-fra.com

Comment puis-je installer un paquet avec go get?

Je veux installer des paquets de github à mon gopath, j'ai essayé ceci:

go get github.com:capotej/groupcache-db-experiment.git

le référentiel est ici .

88
roger

Commande aller

Télécharger et installer des packages et des dépendances

Usage:

go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]

Obtenir télécharge les packages nommés par les chemins d'importation, ainsi que leurs dépendances. Il installe ensuite les packages nommés, comme "go install".

L'option -d indique à get de s'arrêter après le téléchargement des packages; c'est-à-dire qu'il demande à ne pas installer les paquets.

L'indicateur -f, valide uniquement lorsque -u est défini, force get -u à ​​ne pas vérifier que chaque package a été extrait du référentiel de contrôle de la source impliqué par son chemin d'importation. Cela peut être utile si la source est une fourchette locale de l'original.

L’indicateur -fix indique à l’utilisateur d’exécuter l’outil de réparation sur les packages téléchargés avant de résoudre les dépendances ou de générer le code.

L'indicateur -insecure permet d'extraire des référentiels et de résoudre des domaines personnalisés à l'aide de schémas non sécurisés tels que HTTP. Utiliser avec précaution.

L'option -t indique à get de télécharger également les packages nécessaires à la construction des tests pour les packages spécifiés.

L'option -u demande à l'utilisateur d'utiliser le réseau pour mettre à jour les paquets nommés et leurs dépendances. Par défaut, get utilise le réseau pour extraire les packages manquants, mais pas pour rechercher les mises à jour des packages existants.

L'indicateur -v permet une progression détaillée et une sortie de débogage.

Get accepte également les indicateurs de construction pour contrôler l’installation. Voir 'aide à construire'.

Lors de l'extraction d'un nouveau package, get crée le répertoire cible GOPATH/src /. Si GOPATH contient plusieurs entrées, get utilise la première. Pour plus de détails, voir: 'go help gopath'.

Lors de l'extraction ou de la mise à jour d'un paquet, get cherche une branche ou une balise correspondant à la version de Go installée localement. La règle la plus importante est que si l'installation locale exécute la version "go1", get cherche une branche ou une balise nommée "go1". Si aucune version de ce type n'existe, il récupère la branche par défaut du package.

Lorsque vous obtenez des extractions ou met à jour un référentiel Git, il met également à jour tous les sous-modules git référencés par le référentiel.

Obtenez jamais vérifie ou met à jour le code stocké dans les répertoires des fournisseurs.

Pour plus d'informations sur la spécification de packages, voir 'Aller aux packages d'aide'.

Pour en savoir plus sur la façon dont "aller chercher" trouve le code source à télécharger, voir "aller aider importpath".

Ce texte décrit le comportement de get lors de l’utilisation de GOPATH pour gérer le code source et les dépendances. Si, à la place, la commande go est exécutée en mode module, les détails des indicateurs et des effets de get changent, de même que 'go help get'. Voir 'Aller modules d'aide' et 'Aller module d'aide-obtenir'.

Voir aussi: go build, go install, go clean.


Par exemple, afficher une sortie commentée,

$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$ 
93
peterSO

Tout d'abord, nous avons besoin de GOPATH

$GOPATH est un dossier (ou un ensemble de dossiers) spécifié par sa variable d'environnement. Nous devons noter que ce n'est pas le répertoire $GOROOT où Go est installé.

export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin

Nous avons utilisé le chemin ~/gocode sur notre ordinateur pour stocker la source de notre application et ses dépendances. Le répertoire GOPATH stockera également les fichiers binaires de leurs packages.

Puis cochez Go env

Votre système doit avoir $GOPATH et $GOROOT, ci-dessous est mon Env:

GOARCH="AMD64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="AMD64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/elpsstu/gocode"
GORACE=""
GOROOT="/home/pravin/go"
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_AMD64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

Maintenant, vous exécutez le paquet download go:

go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]

Obtenez des téléchargements et installe les packages nommés par les chemins d'importation, ainsi que leurs dépendances. Pour plus de détails, vous pouvez regarder ici .

60
Pravin Mishra