J'essaie de faire un go get
:
go get github.com/go-sql-driver/mysql
et il échoue avec l'erreur suivante:
package github.com/go-sql-driver/mysql: cannot download, $GOPATH not set. For more details see: go help gopath
quand je fais un go env
, une liste de valeurs Go est affichée comme ci-dessous:
ubuntu@ip-xxx-x-xx-x:~$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
clairement le GOPATH n'est pas réglé, comment et où dois-je le régler?
Je vois de nombreux threads qui mentionnent cette erreur mais aucun qui fournit une réponse à ma question, quel fichier doit être modifié pour fournir une valeur pour ce chemin?
GOPATH
pour vous: voir ma réponse ci-dessous .Réponses:
Nouvelle façon:
Découvrez cette réponse.
Old Way:
Ajoutez simplement les lignes suivantes à ~ / .bashrc et cela persistera. Cependant, vous pouvez utiliser d'autres chemins que vous aimez comme GOPATH au lieu de $ HOME / go dans mon exemple.
la source
/usr/share/go
sur le mien Ubuntu 13.10.$ source ~/.bashrc
;)Ubuntu 14.04
De plus, vous pouvez ajouter cette chaîne au fichier
la source
GOPATH doit être défini sur un répertoire vide nouvellement créé. C'est le go "workspace", où il télécharge des packages, et cetera. J'utilise ~ / .go.
Par exemple:
source: http://www.larry-price.com/blog/2013/12/15/setting-up-a-go-environment-in-ubuntu-12-dot-04/
la source
Nouvelle façon: modules Go
Depuis Go 1.11, vous n'avez plus besoin d'utiliser GOPATH. Accédez simplement à votre répertoire de projet et faites-le une fois:
Old Way: GOPATH
Si vous insistez pour travailler avec GOPATH, tenez compte de ceci:
De la documentation :
la source
Si par exemple, c'est un Ubuntu, après avoir installé les packages:
Ajoutez simplement les lignes suivantes à ~ / .bashrc (de votre utilisateur)
la source
Il n'est pas nécessaire de modifier un fichier, nous pouvons simplement utiliser la commande ci-dessus pour modifier directement les variables d'environnement Go.
la source
Écrivez ce code dans le terminal.
Remarque : Cela sera réinitialisé à chaque nouvelle fenêtre de terminal ou redémarrage du système.
Pour être persistant, collez le code ci-dessous dans votre fichier
.zshrc
ou.bashrc
en fonction de votre shell. Ces fichiers dans votre répertoire personnel . Ce sera comme ci-dessous.la source
Vous aurez également besoin de GOPATH plus tard. Alors ajoutez-le à
~/.bashrc
.la source
Si vous avez configuré quelque chose qui nécessite une modification des variables d'environnement, par exemple Java, Go, etc., cela sera très familier.
Je suppose que vous avez la structure de répertoires suivante quelque part comme chemin d'accès:
sudo nano /etc/environment
PATH=...
et aller à la fin de celui-ci et ajouter un deux-points:
après le dernier chemin, puis collez votre entiergo path
par exemple/home/user/gocode
et vous avez terminé, cela devrait le rendre persistant dans le système.
la source
C'est ce qui m'a permis de travailler sur Ubuntu 15.10 en utilisant
fish shell
:Ensuite, j'ai dû modifier les autorisations sur le
go
dossier (il était défini sur root)la source
go path pourrait être partout où vous voulez, il suffit de créer un répertoire et de définir la variable de chemin d'accès globale au nom de GOPATH dans votre environnement.
la source
Avec Go 1.8 (Q2 2017), vous n'aurez pas à modifier de fichier si vous acceptez la
GOPATH
valeur par défaut (définie pour vous)Vous pouvez voir les commentaires sur le numéro 17262 et le vote twitter associé :
la source
Mon environnement de go ressemblait au vôtre.
Je l'ai résolu en définissant GOPATH sur / usr / lib / go . Essaye le.
la source
GOPATH est une variable d'environnement de votre emplacement d'espace de travail. GOROOT est une variable d'environnement de votre répertoire d'installation. Bien que GOROOT et GOPATH soient automatiquement définis (s'il n'y aurait pas de bogue) pendant le temps d'installation, pour le spécifier manuellement, vous pouvez suivre le processus ci-dessous. De plus, pour plus d'informations, vous pouvez vous référer à la page wiki de GO .
Il est préférable de définir GOPATH dans un répertoire de votre répertoire personnel, par exemple, $ HOME / go,% USERPROFILE% \ go (Windows).
Sur votre type de terminal
dans le document ouvert sur le terminal, appuyez sur i et ajoutez le chemin suivant
appuyez sur ESC et tapez : x . Enfin, vous devez redémarrer ( fermer et ouvrir ) votre terminal ou vous déconnecter et vous reconnecter.
ATTENTION Ne définissez pas GOROOT et GOPATH dans le même répertoire, sinon vous obtiendrez un avertissement.
la source
Et vous voudrez peut-être vérifier par $ go env
la source
(Ubuntu)
Si vous ne définissez pas de GOPATH, la valeur par défaut sera utilisée.
Vous devez ajouter $ GOPATH / bin à votre PATH pour exécuter tout binaire installé dans $ GOPATH / bin, ou vous devez taper $ GOPATH / bin / the-command. Ajoutez ceci à votre ~ / .bash_profile
Commande GOPATH actuelle:
Modification de la commande GOPATH:
la source
Cela a été la chose la plus ennuyeuse à gérer. Dans l'espoir de gagner du temps.
IF go a été installé en tant qu'utilisateur root. L'utilisateur root du fichier texte bash_profile de votre système ~ / .bash_profile doit avoir $ GOROOT assigné au répertoire go install et $ GOPATH doit être assigné au répertoire go / src.
assurez-vous que le chemin d'accès au binaire se trouve dans votre chemin sur .bash_profile
CHEMIN = $ CHEMIN: $ ACCUEIL / bin: / usr / local / bin: / usr / local / go / bin
Ce CHEMIN peut être aussi long qu'une chaîne qu'il doit être .. pour ajouter de nouveaux éléments séparés juste par deux points:
quitter l'éditeur vi et enregistrer le profil bash (: wq signifie écrire et quitter)
Vous devez vous déconnecter du terminal et vous reconnecter pour que le profil se lance à nouveau .. ou vous pouvez simplement le démarrer en utilisant l'exportation.
Vous pouvez vérifier go env:
Yay!
Maintenant, vous pouvez sudo et go pourront télécharger et créer des répertoires dans go / src et vous pourrez vous rendre à ce que vous essayez de faire.
exemple
Maintenant, vous rencontrerez un autre problème .. vous pourriez ne pas avoir installé git .. c'est une autre aventure .. :)
la source
go get
mettre quoi que ce soit partout prèsGOROOT
.Sur ma machine Fedora 20, j'ai ajouté les lignes suivantes à mon ~ / .bashrc:
la source
GOROOT
. (Sauf si vous êtes dans le sous-ensemble extrêmement restreint de personnes qui utilisent une distribution binaire de Go mais l'installent dans un endroit non standard.)Encore une autre solution: exporter chaque
GO*
variable d'environnement dego env
.bashrc:
la source
eval
est généralement une mauvaise idée et une surpuissance dans cette situation IMHOGOPATH
uniquementModifiez votre
~/.bash_profile
pour ajouter la ligne suivante:Enregistrez et quittez votre éditeur. Ensuite, sourcez votre
~/.bash_profile
Remarque: définissez le chemin GOBIN pour générer un fichier binaire lors de l'installation de go
la source
Ce script vous aidera à changer de Gopathes. https://github.com/buffonomics/goswitch
la source
Comme écrit dans les instructions officielles :
Ainsi, par exemple, si vous codez dans Jetbrains Webstorm (à l'aide du plug-in Go ), vous souhaiterez peut-être définir
GOPATH
comme/Users/<user>/WebstormProjects
.En termes plus simples, définissez-le à l'endroit où vous souhaitez que vos projets Go résident.
la source
Vous pouvez utiliser la solution "d'exportation" comme ce que les autres gars ont suggéré. Je voudrais vous fournir une autre solution pour une commodité permanente: vous pouvez utiliser n'importe quel chemin comme GOPATH lors de l'exécution des commandes Go.
Tout d'abord, vous devez télécharger un petit outil nommé
gost
: https://github.com/byte16/gost/releases . Si vous utilisez ubuntu, vous pouvez télécharger la version linux ( https://github.com/byte16/gost/releases/download/v0.1.0/gost_linux_amd64.tar.gz ).Ensuite, vous devez exécuter les commandes ci-dessous pour le décompresser:
Vous obtiendriez un exécutable
gost
. Vous pouvez le déplacer/usr/local/bin
pour une utilisation pratique:Exécutez la commande ci-dessous pour ajouter le chemin que vous souhaitez utiliser en tant que GOPATH dans le gestionnaire d'espace de chemin
gost
. Il est nécessaire de donner au chemin un nom que vous utiliserez plus tard.Exécutez n'importe quelle commande Go que vous souhaitez au format:
Par exemple, vous souhaitez exécuter
go get github.com/go-sql-driver/mysql
avec/home/foobar/bar
le GOPATH, faites-le comme ci-dessous:Cela vous aiderait à définir le GOPATH et à exécuter la commande. Mais rappelez-vous que vous avez ajouté le chemin dans
gost
l' espace de chemin de . Si vous êtes sous n'importe quel niveau de sous-répertoires de/home/foobar/bar
, vous pouvez même simplement exécuter la commande ci-dessous qui ferait la même chose pour faire court:gost
est un outil simple de Go qui peut vous aider à gérer les GOPATH et à exécuter les commandes Go. Pour plus de détails sur la façon de l'utiliser pour exécuter d'autres commandes Go, vous pouvez simplement l'exécutergost help goCmdName
. Par exemple, vous voulez en savoir plusinstall
, tapez simplement les mots ci-dessous dans:Vous pouvez également trouver plus de détails dans le README du projet: https://github.com/byte16/gost/blob/master/README.md
la source
Vous devez mettre à jour le PATH en fonction du terminal (bash ou zsh) que vous utilisez.
~/.bashrc
ou~/.zshrc
dans un éditeurexport GOPATH=$HOME/go:/$HOME/projects/go
Ici, vous pouvez ajouter un ou plusieurs chemins séparés par un point-virgule à
:
partir de différents emplacements de vos projets GO sur le système à laGOPATH
variable d'environnement,/path/1:path/2:path/3
etc.Dans mon cas, j'ai ajouté 2 chemins, comme indiqué ci-dessus, l'un depuis la racine
$HOME/go
et l'autre depuis le répertoire des projets:/$HOME/projects/go
la source