aller installer: pas de l'emplacement d'installation de répertoire en dehors GOPATH
Ok, j'ai vu cette question pop up beaucoup, mais les solutions ne sont pas de travail pour moi. J'ai essayé un nombre incalculable de fois pour résoudre ce problème, mais rien. Voici ce que j'ai fait:
- Installés Aller.
J'ai ensuite ajouté les besoins de mon .bash_profile:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
Je puis l'installation correcte des dossiers:
Comme vous pouvez le voir, j'ai également créé une projection appelé pneu.
Le contenu de principal.aller sont tout simplement:
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Je suppose que c'est tout ce que vous devez faire les choses correctement, mais peu importe ce que je fais, je reçois toujours le message d'erreur suivant lorsque j'essaie d'exécuter go install
:
go install: no install location for directory /Users/Daryl/go/src/tire outside GOPATH
Je sais que je pourrais tout simplement courir go install tire
, mais ce n'est pas la question. Je préfère savoir ce qu'il se passe.
Voici ce que j'obtiens quand je lance go env
:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/daryl/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
TERM="dumb"
CC="clang"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"
CXX="clang++"
CGO_ENABLED="1"
Est ce familier à tout de vous? Ai-je raté quelque chose? Toute aide serait appréciée.
GOPATH
et le répertoire où Aller pense que votre source est (daryl
vs Daryl
). Avec un système de fichiers sensible à la casse, ce seraient des chemins différents, de sorte qu'il peut ne pas savoir qu'ils sont équivalents.Je pense que vous pourriez avoir cloué. J'ai créé un nouvel utilisateur de test avec un capitalisés nom de compte et cela a fonctionné. Bien que, cela ne fait pas vraiment de sens pour moi, pourquoi il ne serait pas de toute façon, j'ai spécifié les minuscules dans l'GOPATH, alors pourquoi est-il utiliser dans le cas contraire?
Je n'ai pas de OSX système de test, mais je suppose qu'il est l'un des suivants: (1) le répertoire est vraiment capitalisés (exécuter
ls /Users
à vérifier), ou (2) getcwd
est de retour une capitalisés version du nom du répertoire.Oui, OSX (plus précisément HFS+) peut être configuré de manière à être sensible à la casse et en cas de préservation.
essayez de configurer GOBIN="/Users/daryl/go/bin"
OriginalL'auteur daryl | 2014-10-01
Vous devez vous connecter pour publier un commentaire.
Lorsque vous exécutez
go install
Aller cherche$GOBIN
env variable de chemin d'accès. Vous devez définir votre$GOBIN
à$GOPATH/bin
et/ou ajouter
$GOBIN
à votre système d'exploitation de chemin de recherche deUtiliser la commande sans l'obtention de l'erreur.
export GOBIN=$GOPATH:bin
vous devriez direexport GOBIN=$GOPATH/bin
oui merci pour la correction!
C'est ça pour moi aussi! Je n'ai mis $GOPATH pas $GOBIN, comme soong $GOBIN est réglé, tout a fonctionné. Merci.
merci pour vôtre solution :+1: , c'est le travail pour moi
OriginalL'auteur Pie 'Oh' Pah
Le problème était que James Henstridge commenté, pour une raison quelconque il y a un problème avec mon répertoire de l'utilisateur nom de l'affaire. Même si le répertoire est minuscules, j'ai dû le faire capitalisés.
Cela a fonctionné:
GOPATH=/Users/Daryl/go
Ce n'est pas le cas:
GOPATH=$HOME/go
Cependant, depuis le passage à un rMBP à partir de mon iMac, je n'ai eu aucun problème que ce soit la configuration de partir, donc, à ce jour, je ne suis pas sûr de ce qui se passait, mais en l'occurrence la capitalisation fixe.
OriginalL'auteur daryl