在以下任何位置都找不到软件包“ github.com/gorrila/mux”

时间:2018-06-29 22:31:19

标签: go 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适用于安装随附的编译器工具,因此我不确定为什么要在其中查找多路复用器。但是我确实在为go代码创建的目录的第二个位置看到了mux。

我知道有人问过这个问题once before,我尝试按照该问题的建议进行调试。

我使用自制软件并安装了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,因为that is no longer required

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库运行代码。

我首先在程序目录中安装了多路复用器(将其安装到/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

所以我在第一个命令中看到了大猩猩,但第二个命令中却没有。但是,我的确在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)

我不确定为什么要在usr目录中查找多路复用器。我的路径有问题吗?我一直在检查最后一个路径,以查看mux目录在其中。

2 个答案:

答案 0 :(得分:1)

您似乎误拼了"github.com/gorilla/mux" –它有一个“ r”和两个“ l”。 (仔细比较您引用的go get命令和源文件中的import语句。)

答案 1 :(得分:0)

您能否尝试通过以下方式设置.bash_profile

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