~/src/go-statsd-client> echo $GOPATH
/Users/me/gopath
~/src/go-statsd-client> echo $GOROOT
/usr/local/Cellar/go/1.1.1\
~/src/go-statsd-client> go install
go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH
Quelle que soit la structure du projet, cela échoue toujours avec le même message. Go build fonctionne parfaitement.
Voici mon go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/gopath"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.1.1"
GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
CGO_ENABLED="1"
Ceci est sur Mac OSX Mountain Lion et go a été installé avec homebrew.
$GOPATH/bin
répertoire. La création de ce dossier était nécessaire - je n'avais pas besoin de définirGOBIN
env var.PYTHONHOME
au lieuGOROOT
etPYTHONPATH
au lieu deGOPATH
. Même (GC) C aLIBRARY_PATH
,C_INCLUDE_PATH
etc.export GOPATH=$PWD
J'obtiens cette erreur après (debout à la racine d'un arbre de clonage de Golang), votre réponse ne peut pas expliquer l'erreur dans ce cas.GOPATH
, mais de l'extérieur, en regardant vers l'intérieur, cela semble complètement insensé. Pourquoi dois-je muter les variables d'environnement globales juste pour construire un package localement 🤔Pour tous les utilisateurs d'OS X et pour moi, vous devez également définir
GOBIN
pour éviter ce message déroutant lors de l'installation etgo get
la source
GOBIN
. Si le paramétrer sur$GOPATH/bin
fait une différence, alors quelque chose ne va pas avec votre configuration ou vous faites quelque chose que vous ne devriez pas.Vous utilisez go install sur un répertoire en dehors du dossier GOPATH. Définissez votre variable d' environnement GOBIN ou déplacez le dossier src dans GOPATH.
Plus d'informations: GO BUILD Source code , ligne 296
la source
Vous devez configurer à la fois
GOPATH
etGOBIN
. Assurez-vous d'avoir fait ce qui suit (veuillez le remplacer~/go
par votre préféréGOPATH
et le modifier par la suiteGOBIN
). Ceci est testé surUbuntu 16.04 LTS
.La réponse choisie n'a pas résolu le problème pour moi.
la source
Vous voudrez avoir 3 répertoires dans votre répertoire GOPATH choisi.
Ensuite, vous exécuterez
go install
de l'intérieur soit someProgram (qui met un exécutable dans bin) ou someLibrary (qui met une bibliothèque dans pkg).la source
J'ai eu ce problème sous Windows.
Mon problème était que ma
%GOPATH%
variable d'environnement était définie surC:\Users\john\src\goworkspace
au lieu de
C:\Users\john\src\goworkspace\
L'ajout de la barre oblique manquante à la fin l'a corrigé pour moi.
la source
Pour ce que ça vaut, voici mon .bash_profile, qui fonctionne bien pour moi sur un mac avec Atom, après avoir installé go avec Homebrew:
la source
Dans mon cas (OS X) , il a été parce que j'ai mis
GOPATH
à/home/username/go
(selon le livre) au lieu de/Users/username/go
la source
Je suis sous Windows, et je l'ai obtenu en donnant la commande
go help gopath
à cmd et en lisant le texte en gras dans l'instruction,qui est si le code vous WNAT à installer est à
..BaseDir...\SomeProject\src\basic\set
l' GOPATH ne doit pas être le même endroit que le code, il doit être juste projet de base DIR:..BaseDir...\SomeProject
.si GOPATH a été défini sur Base Project DIR et a toujours ce problème, dans Windows, vous pouvez essayer de définir GOBIN comme
Base Project DIR\bin
ou%GOPATH%\bin
.la source
Attention lors de la course
Allez supposer que votre code existe dans des endroits spécifiques liés à
GOPATH
. Donc, à la place, vous pouvez utiliser docker pour exécuter n'importe quelle commande go:Et maintenant, vous pouvez utiliser n'importe quelle commande golang, par exemple:
la source
Dans Windows, ma fenêtre cmd était déjà ouverte lorsque j'ai défini la variable d'environnement GOPATH. J'ai d'abord dû fermer le cmd, puis le rouvrir pour qu'il devienne efficace.
la source
Le problème est que vous n'êtes pas dans le répertoire du package contenant le fichier go avec la fonction principale go et que go install ne peut pas trouver la commande (go file avec la fonction principale go) que vous souhaitez installer.
puis exécutez:
la source
Sur OSX Mojave 10.14,
go
est généralement installé à/usr/local/go
.Par conséquent, configurez ces ENV et vous devriez être prêt à partir.
export GOPATH=/usr/local/go && export GOBIN=/usr/local/go/bin
Ajoutez-les également à votre
bash_profile
ouzsh_profile
si cela fonctionne.echo "export GOPATH=/usr/local/go && export GOBIN=/usr/local/go/bin" >> ~/.bash_profile && source ~/.bash_profile
la source