$ GOPATH установлен, но установка не работает - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь понять среду go, но я не могу go install увидеть какой-либо пакет, который я клонировал локально.go install на примере hello world работает нормально.

~GOPATH/src/go-github(master ✔) go install -i go-github/github
~GOPATH/src/go-github(master ✔)
~GOPATH/src/go-github(master ✔)
~GOPATH/src/go-github(master ✔) ll ~GOBIN
total 80992
-rwxr-xr-x  1 drez  1896053708   6.2M Sep 21 14:57 basicauth
-rwxr-xr-x  1 drez  1896053708   6.3M Sep 21 14:57 commitpr
-rwxr-xr-x  1 drez  1896053708   6.3M Sep 21 14:57 fields
-rwxr-xr-x  1 drez  1896053708   1.9M Sep 21 14:06 hello
-rwxr-xr-x  1 drez  1896053708   6.2M Sep 21 14:57 migrations
-rwxr-xr-x  1 drez  1896053708   6.3M Sep 21 14:57 newrepo
-rwxr-xr-x  1 drez  1896053708   6.3M Sep 21 14:57 simple

Мой вывод go env выглядит следующим образом:

~GOPATH/src/go-github(master ✔) go env
GOARCH="amd64"
GOBIN="/Users/drez/Dev/golang/bin"
GOCACHE="/Users/drez/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/drez/Dev/golang"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/f7/zq9bg2ds6671wp4s7v3vkyf5rzyx5d/T/go-build744915712=/tmp/go-build -gno-record-gcc-switches -fno-common"

$ PATH с $ GOBIN в конце:

~GOPATH/src/go-github(master ✔) echo $PATH /Users/drez/.toolbox/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/drez/.toolbox/bin:/Users/drez/Library/Android/sdk/platform-tools:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/Users/drez/Library/Android/sdk/platform-tools:/Users/drez/Dev/golang/bin

1 Ответ

0 голосов
/ 29 сентября 2018
Команда

go install предназначена для установки двоичного файла в каталог bin вашей рабочей области или go clean -i для его удаления.

Если вы хотите загрузить lib для разрешения импорта, вам нужно использовать команду go get.

Также учтите, что могут быть установлены только пакеты main

...