web-dev-qa-db-fra.com

Impossible de définir $ GOPATH sur Mac OSX

J'essaie de configurer ma variable $GOPATH pour qu'elle exécute un exemple de code sur ma machine:

$ smitego-example go run main.go 
main.go:5:2: cannot find package "github.com/#GITHUB_USERNAME#/smitego" in any of:
    /usr/local/go/src/pkg/github.com/#GITHUB_USERNAME#/smitego (from $GOROOT)
    ($GOPATH not set)

$ smitego-example export $GOPATH=$HOME
-bash: export: `=/Users/#OSX_USERNAME#': not a valid identifier

enter image description here

Contenu de github.com/#GITHUB_USERNAME#/smitego/smitego.go:

package smitego

Comment définir ma GOPATH pour qu'elle fonctionne toujours et à jamais?

51
sergserg

Mise à jour, à partir de Go 1.8: Si vous installez Go 1.8 (version: février 2017) ou une version ultérieure, GOPATH est automatiquement déterminé par la chaîne d'outils Go pour vous.

La valeur par défaut est $HOME/go sur macOS (sous OS X) - par exemple. /Users/matt/go/. Cela facilite encore plus le démarrage de Go, et vous pouvez go get <package> tout de suite après avoir installé Go.


Pour le shell: (la méthode manuelle)

~/.bash_profile devrait contenir export GOPATH=$HOME/go et aussi export PATH=$GOPATH/bin:$PATH. L'utilisation du $ est importante: assurez-vous de noter où je l'ai utilisé (et où je ne l'ai pas utilisé).

Pour le texte sublime: 

Menu Sublime Text> Préférences> Paramètres de package> GoSublime> Paramètres: Utilisateur

{
        "Shell": ["/bin/bash"],
        "env": {"GOPATH": "/Users/#USERNAME#/go/"},
}

Assurez-vous que votre GOPATH n'est pas défini sur le chemin complet du paquet. juste la racine de votre dossier go où réside src, pkg, and bin. Si vous n'utilisez pas GoSublime , je suggèrerais de l'installer en premier.

111
elithrar

La réponse acceptée n'a pas fonctionné pour moi. J'ai enquêté et trouvé la cause: j'utilise zsh, pas bash.

J'ai besoin d'ajouter les deux lignes suivantes à ~/.zshrc:

export GOPATH=/Users/username/go
export PATH=$GOPATH/bin:$PATH
14
Tyler Long

Vous ne mettez pas le préfixe $ sur une variable lorsque vous l'assignez, mais uniquement lorsque vous le lisez.

export GOPATH=$HOME

Pour rendre cela permanent, placez la commande dans votre .bash_profile.

Cela fonctionnera pour les shells Terminal. Si vous devez définir des variables d'environnement qui affecteront les applications graphiques, voir Variables d'environnement dans Mac OS X

14
Barmar

Le http://www.golang-book.com/guides/machine_setup#osx

n'a que des instructions pour configurer le chemin sur ~/.bashrc, pas ~/.bash_profile qui, grâce à ce fil, a pu obtenir mon fichier d'exemple à construire. 

export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin

Les autres utilisateurs Mac doivent ajouter ce qui précède à leur ~/.bash_profile.

4
uroborus

1) Téléchargez et installez Go tools https://golang.org/doc/install

2) Espace de travail Setup Go

mkdir $HOME/go
cd $HOME/go
mkdir bin pkg src

3) Configuration de l'environnement Go

Sudo vi ~/.bash_profile
export GOPATH=$HOME/go
PATH=$PATH:$GOPATH/bin

Testez en créant, construisant et exécutant un projet Go

mkdir $GOPATH/src/github.com/todsul/hello
touch $GOPATH/src/github.com/todsul/hello/hello.go
go install
hello
3
Homam Bahrani

sur macOS High Sierra version 10.3.3, Go [version go go.10.10 darwin/AMD64] installé ici

 Go Install Location

Ajout de la suite sur: ~/.bashrc

export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin

et puis va travailler 

 Go Works

0
Sumit Arora

Après l’installation de go with brasser ou avec le paquet ceci a résolu mon problème:

export GOROOT="/usr/local/go"
export GOPATH="$HOME/Documents/goWorkSpace"
export PATH="$HOME/Documents/goWorkSpace/bin:$PATH"
0
arcticOak2