Идите сборка, не найдя пакетов поставщиков, обеспеченных с помощью dep
Я сталкиваюсь с ошибкой, когда пакеты поставщика не разрешаются корректно go; на macOS High Sierra 10.13.6. Я буду использовать github.com/gorilla/mux в качестве примера пакета
$ echo $GOPATH
/Users/gregorysims/go
$ go version
go version go1.11 darwin/amd64
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/gregorysims/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/gregorysims/go"
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/tb/6c5vksm558q5q4t0fxfscgy80000gp/T/go-build409352678=/tmp/go-build -gno-record-gcc-switches -fno-common"
Я импортирую пакет с
import (
...
"github.com/gorilla/mux"
...
)
Когда работает:
go build -o out main.go
Я получаю следующую ошибку для каждого пакета в поставщике
main.go:6:2: cannot find package "_/Users/gregorysims/go/src/site/user/project/vendor/github.com/gorilla/mux" in any of:
/usr/local/go/src/_/Users/gregorysims/go/src/site/user/project/vendor/github.com/gorilla/mux (from $GOROOT)
/Users/gregorysims/go/src/_/Users/gregorysims/go/src/site/user/project/vendor/github.com/gorilla/mux (from $GOPATH)
Папка должна быть найдена в
/Users/gregorysims/go/src/site/user/project/vendor/github.com/gorilla/mux
и присутствует в каталоге.
Почему это префикс следующего?
/Users/gregorysims/go/src/_
ОБНОВИТЬ
После удаления локального проекта и повторного использования с удаленного компьютера я попытался выполнить сборку без загрузки каких-либо зависимостей. Это было ожидаемый результат:
main.go:6:2: cannot find package "github.com/gorilla/mux" in any of:
/usr/local/go/src/github.com/gorilla/mux (from $GOROOT)
/Users/gregorysims/go/src/github.com/gorilla/mux (from $GOPATH)
Вышеуказанная ошибка выдается только после запуска команды сборки после dep ensure
это запустить.
ОБНОВЛЕНИЕ 2
Создание пустого каталога вендора изменяет вывод на:
main.go:6:2: cannot find package "github.com/gorilla/mux" in any of:
/Users/gregorysims/go/src/site/user/project/vendor/github.com/gorilla/mux (vendor tree)
/usr/local/go/src/github.com/gorilla/mux (from $GOROOT)
/Users/gregorysims/go/src/github.com/gorilla/mux (from $GOPATH)
Обновление 3
Для имитации депе я позвонил go get github.com/gorilla/mux
с последующим:
mv $GOPATH/src/github.com/gorilla/mux $GOPATH/src/site/user/project/vendor/github.com/gorilla/mux
После этого проблема снова появляется.