La variable d'environnement GOPATH répertorie les endroits où rechercher du code Go. Sous Unix, la valeur est une chaîne séparée par deux-points. Sous Windows, la valeur est une chaîne séparée par des points-virgules. Sur le plan 9, la valeur est une liste.
Si la variable d'environnement n'est pas définie, GOPATH utilise par défaut un sous-répertoire nommé "go" dans le répertoire personnel de l'utilisateur ($ HOME / go sous Unix,% USERPROFILE% \ go sous Windows), sauf si ce répertoire contient une distribution Go. Exécutez "go env GOPATH" pour voir le GOPATH actuel.
Voir https://golang.org/wiki/SettingGOPATH pour définir un GOPATH personnalisé.
Chaque répertoire répertorié dans GOPATH doit avoir une structure prescrite:
Le répertoire src contient le code source. Le chemin sous src détermine le chemin d'importation ou le nom de l'exécutable.
Le répertoire pkg contient les objets de package installés. Comme dans l'arborescence Go, chaque paire de système d'exploitation et d'architecture cible a son propre sous-répertoire de pkg (pkg / GOOS_GOARCH).
Si DIR est un répertoire répertorié dans le GOPATH, un paquet avec la source dans DIR / src / foo / bar peut être importé en tant que "foo / bar" et sa forme compilée est installée dans "DIR / pkg / GOOS_GOARCH / foo / bar.a ".
Le répertoire bin contient les commandes compilées. Chaque commande est nommée pour son répertoire source, mais uniquement pour l'élément final, pas pour le chemin complet. Autrement dit, la commande avec source dans DIR / src / foo / quux est installée dans DIR / bin / quux, et non dans DIR / bin / foo / quux. Le préfixe «foo /» est supprimé afin que vous puissiez ajouter DIR / bin à votre PATH pour accéder aux commandes installées. Si la variable d'environnement GOBIN est définie, les commandes sont installées dans le répertoire qu'elle nomme au lieu de DIR / bin. GOBIN doit être un chemin absolu.
Voici un exemple de disposition de répertoire:
GOPATH=/home/user/go
/home/user/go/
src/
foo/
bar/ (go code in package bar)
x.go
quux/ (go code in package main)
y.go
bin/
quux (installed command)
pkg/
linux_amd64/
foo/
bar.a (installed package object)
..........
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
.
$GOPATH/bin
répertoire. La création de ce dossier était nécessaire - je n'avais pas besoin de définirGOBIN
env var.