it-swarm.com.de

$ GOPATH kann unter Mac OSX nicht eingestellt werden

Ich versuche, meine $GOPATH-Variable so einzustellen, dass Beispielcode auf meinem Computer ausgeführt wird:

$ 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

Inhalte von github.com/#GITHUB_USERNAME#/smitego/smitego.go:

package smitego

Wie kann ich mein GOPATH so einstellen, dass es immer und für immer funktioniert?

51
sergserg

Update ab Go 1.8: Wenn Sie Go 1.8 (veröffentlicht: Februar 2017) oder höher installieren, wird GOPATH automatisch bestimmt von der Go-Toolchain für Sie festgelegt.

Unter macOS (nee OS X) ist $HOME/go standardmäßig eingestellt, z. /Users/matt/go/. Dies macht den Einstieg in Go noch einfacher, und Sie können go get <package> direkt nach der Installation von Go eingeben.


Für die Shell: (die manuelle Methode)

~/.bash_profile sollte export GOPATH=$HOME/go und auch export PATH=$GOPATH/bin:$PATH enthalten. Die Verwendung von $ ist wichtig: Achten Sie darauf, wo ich es benutzt habe (und wo ich es nicht habe).

Für erhabenen Text: 

Text sublimieren> Einstellungen> Paketeinstellungen> GoSublime> Einstellungen: Benutzer

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

Stellen Sie sicher, dass Ihre GOPATH nicht auf den vollständigen Pfad des Pakets eingestellt ist. Nur das Stammverzeichnis Ihres go-Ordners, in dem sich src, pkg, and bin befindet. Wenn Sie GoSublime nicht verwenden, würde ich empfehlen, dies zuerst zu installieren.

111
elithrar

Die akzeptierte Antwort hat bei mir nicht funktioniert. Ich habe die Ursache untersucht: Ich benutze zsh, nicht bash.

Ich muss die folgenden zwei Zeilen zu ~/.zshrc hinzufügen:

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

Das $-Präfix wird nicht bei der Zuweisung einer Variablen angegeben, sondern nur beim Lesen.

export GOPATH=$HOME

Um dies dauerhaft zu machen, setzen Sie den Befehl in Ihren .bash_profile.

Das wird für Terminal-Shells funktionieren. Wenn Sie Umgebungsvariablen festlegen müssen, die sich auf GUI-Anwendungen auswirken, finden Sie weitere Informationen unter Umgebungsvariablen in Mac OS X .

14
Barmar

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

hat nur Anweisungen zum Setzen des Pfads auf ~/.bashrc, nicht auf ~/.bash_profile, die dank dieses Threads meine Beispieldatei zum Erstellen bringen konnten. 

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

Andere Mac-Benutzer müssen das obige zu ihrem ~/.bash_profile hinzufügen.

4
uroborus

1) Laden Sie die Go-Tools herunter und installieren Sie sie https://golang.org/doc/install

2) Setup Go-Arbeitsbereich

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

3) Setup Go-Umgebung

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

Testen Sie, indem Sie ein Go-Projekt erstellen, erstellen und ausführen

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

auf macOS High Sierra Version 10.3.3, Go [go-Version go1.10.1 darwin/AMD64]

 Go Install Location

Folgendes hinzugefügt am: ~/.bashrc

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

und dann Go Works 

 Go Works

0
Sumit Arora

Nach der Installation von go with brew oder mit package wurde dieses Problem gelöst:

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