Ne pouvez pas obtenir Golang de travailler dans Ubuntu
Ok, j'ai Donc téléchargé Aller 1.1 et le mettre dans $HOME/Documents/go.
Ensuite, j'ai modifié mon .bashrc
être:
export GOPATH=$HOME/Documents/go
export GOROOT=$GOPATH
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
Que j'ai obtenu les .bashrc
, et essayé:
jan@janpc:~$ go version
go version go1.1 linux/amd64
Mais je n'arrive pas à compiler ou d'installer toutes les dépendances.
Par exemple. J'essaie de lancer mon petit programme de test:
jan@janpc:~/Documents/go/src/github.com/jan/scrypt$ go run scrypt.go
warning: GOPATH set to GOROOT (/home/jan/Documents/go) has no effect
scrypt.go:9:3: cannot find package "github.com/dchest/scrypt" in any of:
/home/jan/Documents/go/src/pkg/github.com/dchest/scrypt (from $GOROOT)
($GOPATH not set)
jan@janpc:~/Documents/go/src/github.com/jan/scrypt$
Et lorsque j'essaie d'installer les dépendances:
jan@janpc:~/Documents/go/src/github.com/jan/scrypt$ go get "github.com/dchest/scrypt"
warning: GOPATH set to GOROOT (/home/jan/Documents/go) has no effect
package github.com/dchest/scrypt: cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath
Il compile et fonctionne très bien sur mac. Je ne peux pas comprendre quel est le problème avec ma config, si j'essaie de supprimer $GOROOT
ou $GOPATH
rien ne fonctionne, et je ne sais pas quoi d'autre à régler à la, autre que le chemin à parcourir.
EDIT:
Il n'y a pas de $GOROOT sur mon mac. Mais si je supprime $GOROOT
sur ubuntu, je reçois des tas d'erreurs de ce type lorsque j'essaie de compiler.
cannot find package "fmt" in any of:
/usr/local/go/src/pkg/fmt (from $GOROOT)
/home/jan/Documents/go/src/fmt (from $GOPATH)
Vous devez vous connecter pour publier un commentaire.
Votre environnement de variable que vous avez définie par
est une erreur. Nulle part est un tel réglage n'est nécessaire ni recommandé. En fait, il paralyse l'environnement vu par les Go système de construction.
Supprimer ce contexte, de recréer votre environnement (
. bashrc
) ou ouvrez un nouveau terminal et cela devrait fonctionner (si pas d'autres problèmes).En outre, si vous n'êtes pas la compilation croisée, je vous recommandons de supprimer aussi ces:
En bref, une bonne exporté GOPATH est le seulement variable d'environnement qui est, en première approximation, on a réellement besoin. Quelques conseils en plus ici.
EDIT: Bon, j'ai donc téléchargé la distribution binaire (go1.1.linux-amd64.tar.gz). Citant le README:
De cela, il est clair que vous ne devez pas avoir suivi correctement les instructions ci-dessus. Corriger cela et j'espère que cela va fonctionner pour vous, alors.
go env
.echo $GOROOT
est vide, maisgo env
rapportsGOROOT="/usr/local/go"
. Mais il n'y a pas de /usr/local/go!/usr/local/go
). Cela reflète la façon dont le GOROOT_FINAL a été défini lors de la construction de la Aller de distribution. Cela signifie également que vous devez mettre la distribution dans ce lieu. Si ce répertoire n'existe pas sur votre système, il s'ensuit que vous devez avoir installé de façon incorrecte ailleurs. Correctif en premier lieu 😉~/Documents/
. Est-il possible de le changer dans mes Documents plutôt que de/usr/local
?/usr/local
, mais maintenant je serai de retour à$GOPATH must not be set to $GOROOT. For more details see: go help gopath
erreurs.$GOROOT
quand ils étaient déjà dans$GOPATH
. Semble que c'était le problème.Pour installer aller, il est CRITIQUE d'abord supprimer avant d'installer (ou vous obtiendrez des erreurs aller de l'échec de la construction : le temps d'exécution/mstkbar.aller:151:10: debug.gcstackbarrieroff undefined)
Vérifier si go est toujours installé
de sortie standard si go est installé
si go est installé le supprimer
télécharger la dernière archive https://golang.org/dl/ développer et installer
définir ces variables d'environnement dans votre ~/.bashrc
source de votre nouveau env var définitions
vérification de l'installation
s'il est installé correctement typique de sortie
--- installation complète, donc permet de compiler un hello world ---
maintenant coller pour créer le go fichier source hello_world.aller
compiler votre code source
de comprendre comment la structure de votre code source voir https://golang.org/doc/code.html
Fixer le paquet manquant erreur
Vous demande également comment résoudre la dépendance manquante erreurs ... par exemple
d'erreur ci-dessus se produit même après votre installation le programme d'installation OK ... juste cette question pour télécharger et installer le manque en amont de la dépendance aller les paquets (et ceux qu'ils pourraient aussi faire référence de manière récursive)
TLDR: Unset
$GOROOT
en cours d'exécution suivants commande dans votre terminalexport GOROOT=""
J'ai dû Aller installé sur Ubuntu 16.04 et tout fonctionnait bien.
Puis par erreur j'ai mis le
$GOROOT
à$GOPATH
suivant un tutoriel, à quel point mon build a commencé à échouer en disant:Toutes les solutions que j'ai lu était suggérant de ne pas définir cette variable, et je voulais annuler cette. J'ai trouvé le correctif suivant pour obtenir unset:
export GOROOT=""
en bash.Avoir de désactiver la
$GOROOT
retour à vide, qui a été recommandé par tout le monde pour aller en défaut à l'origine du chemin. Et il a fixé le problème pour moi et d'aller construire commencé à travailler à nouveau.Vous ne devriez pas mettre $GOROOT pour les installations normales.
Juste type
export GOROOT=""
et cela devrait résoudre votre problème.