doudou201701 2018-06-29 22:31
浏览 227
已采纳

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

The error message is:

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)

I understand GOROOT is for compiler tools that come with installation, so I am not sure why it looks for mux there. But I do see mux in the second location in my directory I created for go code.

I know this question was asked once before and I tried to debug following the advice from that question.

I used homebrew and installed go version go1.10.3 darwin/amd64.

Here is what I believe to be the relevant portion of my go env:

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"

I also set my bash profile, excluding GOROOT because that is no longer required:

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

And did source ~/.bash_profile.

This setup was enough that I can run basic go programs like hello world. So I then tried to run code using the mux library.

I first installed mux within the directory of my program (cd'd into /Users/myname/go/src/github.com/myname/restapi).

Then I ran:

go get -u github.com/gorilla/mux

I can see the folder exists in my finder. I also looked in terminal:

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

Then:

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

So I saw gorilla in the first command but not the second. However, I do see the gorilla directory further within my go directory, so I'm not sure what the issue is.

Running go build returns the package of concern:

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)

I am not sure why it is looking for mux within the usr directory. Is there an issue with any of my paths? I keep checking that last path to see that the mux directory is there.

  • 写回答

2条回答 默认 最新

  • dongpu2727 2018-06-30 16:33
    关注

    It looks like you misspelled "github.com/gorilla/mux" – it has one "r" and two "l"'s. (Carefully compare the go get command you quoted and the import statement in your source file.)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Oracle触发器记录修改前后的字段值
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器