Comment puis-je RÉGLER l'GOPATH variable d'environnement sur Ubuntu? Quel fichier dois-je modifier?
Je suis en train 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 Go valeurs est 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 la GOPATH n'est pas définie, comment et où dois-je le mettre?
Je vois le nombre de threads que la mention de cette erreur, mais aucun qui apportent une réponse à ma question, à laquelle le fichier doit être modifié afin de fournir une valeur pour ce chemin?
- Ce shell que vous utilisez?
- En plus des réponses sur ce que vous voulez définir comme, voir ce AFIN de répondre, qui précise que le GOPATH est, et comment il doit être utilisé en général
- askubuntu.com/questions/4667/...
- L'utilisation d'un PTC: github.com/moovweb/gvm
- Je recommande la lecture de la réponse à une question plus générale. Je pointe du doigt l'endroit où le mettre GOPATH variable. stackoverflow.com/a/26962251/450989
- Remarque: Passez De 1,8+ (T2 2017) sera mis
GOPATH
pour vous: voir ma réponse ci-dessous.
Vous devez vous connecter pour publier un commentaire.
2018+ Réponse:
Découvrez cette réponse.
Pré-2018 Réponse:
Il suffit d'ajouter les lignes suivantes dans ~/.bashrc et cela persiste. Toutefois, vous pouvez utiliser d'autres chemins que vous aimez GOPATH au lieu de $HOME/aller dans mon exemple.
/usr/share/go
sur la mienne Ubuntu 13.10./usr/share/go
en quelque sorte paralységo build
:runtime: exec: "/usr/share/go/pkg/tool/linux_amd64/6g": stat /usr/share/go/pkg/tool/linux_amd64/6g: no such file or directory
donc je ne suis pas vraiment sûr de ce qui est le droit de configuration/usr/share/go
sur la mienne Ubuntu 14.04source ~/.bashrc
si vous souhaitez utiliser ces variables immédiatement dans votre fenêtre de terminal. Sinon, vous aurez besoin pour démarrer un nouveau terminal (ou sinon de déclencher le traitement de votre~/.bashrc
fichier par exemple par l'exploitation forestière et encore).$ source ~/.bashrc
😉/etc/environment
doncchsh
ne pas le casser. Redémarrage est nécessaire.Ubuntu 14.04
En outre, vous pouvez ajouter cette chaîne de fichier
GOPATH devrait être fixé à un nouveau répertoire vide. C'est le go "espace de travail", où il télécharge les paquets, et cetera. J'utilise ~/.aller.
Par exemple:
source: http://www.larry-price.com/blog/2013/12/15/setting-up-a-go-environment-in-ubuntu-12-dot-04/
Si par exemple, c'est une Ubuntu, après l'installation de ces paquets:
Il suffit d'ajouter les lignes suivantes dans ~/.bashrc (De l'utilisateur)
Il n'est pas nécessaire de modifier n'importe quel fichier, il suffit d'utiliser la commande ci-dessus pour modifier directement l'Aller variables d'environnement.
Plus court et actuel solution.
Écrire ce code dans le Terminal.
Note: Ce sera remise à zéro à chaque nouvelle fenêtre de Terminal ou de redémarrer le système.
Être persistant, de coller le code ci-dessous dans votre
.zshrc
ou.bashrc
fichier en fonction de votre shell. Ces fichiers dans votre Répertoire d'Accueil de l'. Ce sera comme ci-dessous.Vous aurez besoin GOPATH, aussi, plus tard. Afin de l'ajouter à
~/.bashrc
.Si vous avez quelque chose qui nécessite la modification des variables d'environnement par exemple, Java, rendez-vous...), et ce sera très bien.
Je vais supposer que vous avez la structure de répertoire suivante quelque part que votre chemin:
sudo nano /etc/environment
PATH=...
et aller à la fin de celui-ci et ajouter un colon:
après le dernier chemin, puis collez-le dans votre pleingo path
par exemple/home/user/gocode
et vous avez terminé, Cela devrait le rendre persistantes à travers le système.
Aller Modules [Nouvelle Façon]
Depuis Aller 1.11: il existe Maintenant Aller Modules de soutien (précédemment connu sous le vgo), de sorte que vous n'avez pas à utiliser GOPATH plus. Cependant, c'est encore une fonctionnalité expérimentale.
Par exemple, vous pouvez aller à n'importe quel répertoire de votre système (en dehors de $GOPATH), et vous pouvez initialiser un nouveau module portable, et vous pouvez y travailler. Pas de GOPATH est nécessaire.
Vous avez juste besoin de le faire une fois (tout dans un répertoire):
Après cela, ce répertoire sera considéré comme un module de racine. Vous pouvez créer autant de modules que vous le souhaitez. GOPATH sera bientôt de l'histoire.
Si vous insistez de travail avec GOPATH alors tenir compte de ceci:
Depuis Aller 1.8: Vous n'avez pas besoin de votre GOPATH ou GOROOT. GOPATH par défaut est en vertu de l'utilisateur de votre répertoire/home.
Plus d'informations, consultez cette.
go: unknown subcommand "mod"
@Inanc GumusC'est qu'est ce qu'il fonctionne pour moi sur Ubuntu 15.10 à l'aide de la
fish shell
:Ensuite, j'ai dû modifier les autorisations sur le
go
dossier (il a été créé à la racine)aller chemin peut être chaque endroit où vous voulez il suffit de créer un répertoire et set global variable de chemin d'accès dans le nom de GOPATH à votre environnement.
Avec Go 1.8 (T2 2017), vous n'aurez pas à les modifier n'importe quel fichier si vous acceptez la valeur par défaut
GOPATH
valeur (set pour vous)Vous pouvez voir les commentaires sur question 17262 et la twitter associé vote:
Mon environnement semblait similaire à la vôtre.
J'ai résolu avec la mise en GOPATH à /usr/lib/aller. L'essayer.
GOPATH est une variable d'environnement pour votre espace de travail de l'emplacement.
GOROOT est une variable d'environnement à votre répertoire d'installation. Bien que GOROOT et GOPATH est réglée automatiquement (si il n'y aurait pas un bug) pendant la durée de l'installation, pour le spécifier manuellement, vous pouvez suivre la méthode ci-dessous. En outre, pour plus de renseignements, vous pouvez vous référer à ALLER la page wiki.
Il est préférable de définir GOPATH à un répertoire dans votre répertoire home, par exemple, $HOME/aller, %USERPROFILE%\go (Windows).
Sur votre type de Terminal
dans le document ouvert sur le Terminal, appuyez sur je et ajouter le chemin d'accès suivant
appuyez sur ESC et le type 😡.
Enfin, vous devez redémarrer (près et ouvrir) votre terminal ou votre Déconnexion et Connexion de nouveau.
ATTENTION Ne définissez pas les deux GOROOT et GOPATH dans le même répertoire, sinon vous obtiendrez un message d'avertissement.
Encore une autre solution: Exporter toutes les
GO*
variable d'environnement dego env
.bashrc:
eval
est généralement une mauvaise idée et inutile dans cette situation, à mon humble avisGOPATH
seulementModifier votre
~/.bash_profile
ajouter la ligne suivante:Enregistrez et quittez votre éditeur. Ensuite, la source de votre
~/.bash_profile
Remarque: Régler la GOBIN chemin pour générer un fichier binaire quand allez installer est exécuté
Et vous voudrez peut-être vérifier par
$ aller env
Ce qui a été le plus ennuyeux à traiter. Dans l'espoir de sauver votre temps.
SI l'aller a été installé en tant qu'utilisateur root. L'utilisateur root de votre système bash_profile texte fichier ~/.bash_profile doit avoir $GOROOT affecté à l'aller répertoire d'installation et $GOPATH doit être assigné à l'aller répertoire /src.
être sûr que le chemin pour aller binaire est dans votre chemin d'accès .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/local/go/bin
Ce CHEMIN peut être long d'une chaîne, il doit être..pour ajouter de nouveaux éléments à seulement séparés par deux points :
sortie éditeur vi et d'économie bash profile (:wq stands pour écrire et quitter)
Vous devez vous connecter à partir du terminal et ouvrez-la de nouveau pour le profil de lancer à nouveau..ou vous pouvez simplement démarrer en utilisant l'exportation.
Vous pouvez vérifier go env:
Yay!
Maintenant, vous pouvez utiliser la commande sudo et vous permettra d'être en mesure de télécharger et de créer des répertoires à l'intérieur de go/src et vous pouvez descendre jusqu'à ce que vous essayiez de le faire.
exemple
Maintenant, vous serez confronté à un autre problème..vous pourriez ne pas avoir git installé..c'est une autre aventure..:)
go get
de mettre n'importe quoi n'importe où près deGOROOT
.Sur ma Fedora 20 de la machine, j'ai ajouté les lignes suivantes dans mon ~/.bashrc:
GOROOT
. (Sauf si vous êtes dans le très petit sous-ensemble de personnes qui utilise une distribution binaire d'Aller, mais l'installer dans un endroit où la non-standard.)Comme écrit dans le les instructions officielles:
Ainsi, par exemple, si vous êtes le codage de Jetbrains Webstorm (à l'aide de la Aller plugin), vous pouvez définir
GOPATH
comme/Users/<user>/WebstormProjects
.En termes plus simples, la mettre à l'endroit où vous voulez que votre Go projets de résider.
Vous pouvez utiliser le bouton "exporter" solution juste comme d'autres gars l'ont suggéré. Je tiens à vous fournir une autre solution permanente confort d'utilisation: vous pouvez utiliser n'importe quel chemin que 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).Alors vous avez besoin pour exécuter les commandes ci-dessous pour décompresser :
Vous obtiendrez un fichier 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 d'accès que vous souhaitez utiliser comme GOPATH dans le pathspace
gost
maintient. Il est nécessaire de donner le chemin d'accès d'un nom qui vous permettrait d'utiliser plus tard.Exécuter toute commande Go que vous voulez dans le format:
Par exemple, vous souhaitez exécuter
go get github.com/go-sql-driver/mysql
avec/home/foobar/bar
comme le GOPATH, il suffit de faire comme ci-dessous:Il pourrait vous aider à définir la GOPATH et l'exécution de la commande. Mais rappelez-vous que vous avez ajouté le chemin d'accès dans
gost
's pathspace. Si vous êtes sous n'importe quel niveau de sous-répertoires de/home/foobar/bar
, vous pouvez même les il suffit d'exécuter la commande ci-dessous qui ferait la même chose pour faire court :gost
est un Outil Simple d'Aller qui peuvent vous aider à gérer GOPATHs et exécuter des commandes Go. Pour plus de détails sur la façon de l'utiliser pour exécuter d'autres commandes Go, il vous suffit d'exécutergost help goCmdName
. Par exemple, vous voulez en savoir plus surinstall
, il suffit de taper les mots ci-dessous dans:Vous pouvez également trouver plus de détails dans le fichier README du projet: https://github.com/byte16/gost/blob/master/README.md
Ce script va vous aider à passer Gopaths. https://github.com/buffonomics/goswitch