Próbuję zainstalować doozer w ten sposób:
$ goinstall github.com/ha/doozer
Otrzymuję te błędy.
goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package could not be found locally goinstall: reflect: go/build: package could not be found locally goinstall: math: go/build: package could not be found locally goinstall: rand: go/build: package could not be found locally goinstall: url: go/build: package could not be found locally goinstall: net: go/build: package could not be found locally goinstall: sync: go/build: package could not be found locally goinstall: runtime: go/build: package could not be found locally goinstall: strings: go/build: package could not be found locally goinstall: sort: go/build: package could not be found locally goinstall: strconv: go/build: package could not be found locally goinstall: bytes: go/build: package could not be found locally goinstall: log: go/build: package could not be found locally goinstall: encoding/binary: go/build: package could not be found locally
GOPATH
zostanie ustawiony dla Ciebie w wersji Go 1.8 (2017). Zobacz moją odpowiedź poniżejgoinstall
jest naprawdę starożytny przed Go1 i nie istnieje od 2012 roku.Odpowiedzi:
GOPATH
jest omówione wcmd/go
dokumentacji :GOROOT
jest omówione w instrukcjach instalacji :(zaktualizowana wersja odpowiedzi Chrisa Buncha ).
źródło
go
polecenia, które są niezbędne do pracy z Go. Na przykładgoinstall
powinno być teraz użycie OPgo get
./usr/local/Cellar/go/
. W takim przypadku ścieżkę eksportu należy ustawić za pomocąexport GOROOT=/usr/local/Cellar/go/{version}
iexport PATH=$PATH:$GOROOT/bin
.export GOROOT=/usr/local/Cellar/go/1.2/libexec/
żeby mój zaczął pracować z naparami.Oto moja prosta konfiguracja:
GOROOT, GOPATH, PATH są ustawiane w następujący sposób:
Krótko mówiąc:
GOROOT jest przeznaczony do kompilatora / narzędzi pochodzących z instalacji go.
GOPATH jest dla twoich projektów go / bibliotek stron trzecich (pobranych z „go get”).
źródło
Pierwszy bieg
go env
.Jeśli zauważysz, że go nie jest zainstalowany, możesz go zainstalować za pośrednictwem
homebrew
lub za pośrednictwem pakietu i / lub innych sposobów.Jeśli widzisz dane wyjściowe, oznacza to, że
Go
jest zainstalowany.Pokazuje wszystkie envs, które są ustawione i nie są.
Jeśli widzisz pusty dla
GOROOT
:which go
(na moim komputerze/usr/local/go/bin/go
:)export GOROOT=/usr/local/go
Jeśli widzisz pusty dla
GOPATH
:~/GO_PROJECTS
export GOPATH=~/GO_PROJECTS
źródło
which go
zrobił to dla mnie. Używał innej lokalizacji instalacji go z poprzedniej instalacji przy użyciu Chocolatey. Usunął ten folder i usunął go ze zmiennej PATH. Teraz działa. Dzięki!which go
polecenie nie działało dla mnie w systemie Windows 7. Jak znaleźć miejsce, w którym należy uruchomić to poleceniewhere go
pokazuje ścieżkę do wykonanego plikuexport GOPATH=~/GO_PROJECTS
wykonał pracęGOPATH
jest omówione tutaj :I
GOROOT
jest omówione tutaj :źródło
sudo apt-get install golang
?go env
, powinieneś zobaczyć tę informację, dla mnie to/usr/lib/go/
Przeczytałem
go help gopath
dokumenty i wciąż byłem bardzo zdezorientowany, ale znalazłem ten samorodek na innej stronie dokumentu:http://golang.org/doc/code.html#GOPATH
źródło
GOPATH nie powinien wskazywać na instalację Go, ale raczej na twój obszar roboczy (patrz https://golang.org/doc/code.html#GOPATH ). Ilekroć instalujesz jakiś pakiet za pomocą go get lub go install, wyląduje on w GOPATH. Dlatego ostrzega cię, że zdecydowanie nie chcesz, aby losowe pakiety z Internetu były wrzucane do Twojej oficjalnej instalacji.
źródło
Począwszy od wersji 1.8 (Q2 2017), GOPATH będzie domyślnie ustawiony na $ HOME / go
Zobacz numer 17262 i komentarz Roba Pike'a:
źródło
Jak wspomniano powyżej:
W przypadku systemu Windows zadziałało to dla mnie (w oknie Ms-dos):
Spowoduje to utworzenie zmiennej GOPATH, którą Ms-dos rozpoznaje, gdy jest używana w następujący sposób:
źródło
W
GOROOT
szczególności Go 1.9 ustawi go automatycznie na ścieżkę instalacji.Nawet jeśli masz zainstalowanych wiele Go, wywołanie wersji 1.9.x ustawi się
GOROOT
na/path/to/go/1.9
(wcześniej, jeśli nie jest ustawione, przyjmowana jest domyślna ścieżka jak/usr/local/go
lubc:\Go
).Zobacz recenzję CL Go 53370 :
źródło
Począwszy od 2020 r. I wersji 1.13+, w systemie Windows najlepszym sposobem na aktualizację GOPATH jest po prostu wpisanie wiersza polecenia:
źródło
Oto jedno rozwiązanie (pojedynczy użytkownik):
go
narzeka, jeśli zmienisz.gopath
na.go
.Chciałbym, żeby poszli z tym, co
rust/cargo
zrobili chłopaki i po prostu umieścili wszystko w jednym miejscu.źródło
w osx, zainstalowałem z naparem, oto ustawienie, które działa dla mnie
źródło
Musiałem dołączyć
do mojego ~ / .bash_profile w Mac OS X.
źródło
Istnieje również przypadek, w którym gdy korzystamy z go, kompiluje wszystkie pliki go.
Powiedzmy, że mieliśmy jeden plik main.go, a później zmieniliśmy bieżący plik na main_old.go, a następnie dodaliśmy nasz nowy plik main.go. Następnie, gdy zbudujemy naszą aplikację, wszystkie pliki go zostaną skompilowane. Tak więc występujący błąd może wynikać z błędu kompilacji w niektórych innych plikach go.
źródło
Po zainstalowaniu Go lang GOROOT jest katalogiem głównym instalacji.
Kiedy wybuchłem plik binarny Go Lang w katalogu Windows C: \, moim GOROOT powinien być C: \ go. W przypadku instalacji z instalatorem Windows może to być C: \ Program Files \ go (lub C: \ Program Files (x86) \ go, w przypadku pakietów 64-bitowych)
podczas gdy mój GOPATH to lokalizacja kodu źródłowego Go lang lub obszaru roboczego.
Jeśli mój kod źródłowy Go Go znajduje się w C: \ Users \\ GO_Workspace, twoja GOPATH wyglądałaby następująco:
źródło
Nie musisz tego jawnie ustawiać
GOROOT
(nowoczesne wersje Go mogą samodzielnie to ustalić na podstawie lokalizacji uruchomionego pliku binarnego).Ponadto wystąpił błąd podczas próby pracy z
vgo
:Usunięcie GOROOT, zaktualizowanie mojego GOPATH i
export GO111MODULE="on"
rozwiązanie problemu.GOPATH patrz tutaj
źródło
wartości powinny wynosić (MACOS):
źródło
Jeśli używasz dystrybucji, powinieneś wskazać, gdzie znajdują się pliki dołączania, na przykład:
(To dotyczy Fedory 20)
źródło