Не удается найти пакет "github.com/gorrila/mux" ни в одном из

Сообщение об ошибке:

app.go:9:3: cannot find package "github.com/gorrila/mux" in any of:
    /usr/local/Cellar/go/1.10.3/libexec/src/github.com/gorrila/mux (from 
$GOROOT)
    /Users/myname/go/src/github.com/gorrila/mux (from $GOPATH)

Я понимаю, что GOROOT предназначен для инструментов компилятора, которые поставляются с установкой, поэтому я не уверен, почему он ищет мультиплексор там. Но я вижу mux во втором месте в моем каталоге, который я создал для кода go.

Я знаю, что этот вопрос задавался однажды, и я попытался отладить, следуя советам из этого вопроса.

Я использовал доморощенный и установил версию Go go1.10.3 darwin/amd64,

Вот что я считаю важной частью моей работы:

GOPATH="/Users/myname/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.10.3/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.10.3/libexec/pkg/tool/darwin_amd64"

Я также установил свой профиль bash, исключая GOROOT, потому что это больше не требуется:

export GOPATH="/Users/myname/go/src/github.com"
export PATH="/Users/myname/go/src/github.com/bin:$PATH"

И сделал source ~/.bash_profile,

Этой настройки было достаточно, чтобы я мог запускать базовые программы go, такие как hello world. Поэтому я попытался запустить код, используя mux библиотека.

Сначала я установил mux в каталог моей программы (cd'd в /Users/myname/go/src/github.com/myname/restapi).

Затем я побежал:

go get -u github.com/gorilla/mux

Я вижу, что папка существует в моем искателе. Я также посмотрел в терминале:

ls -l /Users/myname/go/src/github.com | grep gorilla
=> drwxr-xr-x  3 myname  staff  102 Jun 29 14:35 gorilla

Затем:

cd $GOPATH (/Users/myname/go)
go list ... | grep gorilla 
=> can't load package: package ../..: no Go files in /Users

Так что я увидел гориллу в первой команде, но не во второй. Тем не менее, я вижу каталог gorilla дальше в моем каталоге go, поэтому я не уверен, в чем проблема.

Бег go build возвращает пакет концерна:

app.go:9:3: cannot find package "github.com/gorrila/mux" in any of:
      /usr/local/Cellar/go/1.10.3/libexec/src/github.com/gorrila/mux 
(from $GOROOT)
  /Users/myname/go/src/github.com/gorrila/mux (from $GOPATH)

Я не уверен, почему он ищет mux в каталоге usr. Есть ли проблема с любым из моих путей? Я продолжаю проверять этот последний путь, чтобы увидеть, что там есть каталог mux.

2 ответа

Решение

Похоже, вы ошиблись "github.com/gorilla/mux" - у него один "р" и два "л". (Тщательно сравните go get Команду вы процитировали и import заявление в вашем исходном файле.)

Можете ли вы попытаться установить свой .bash_profile в этом случае:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
Другие вопросы по тегам