在任何一个中都找不到包 "github.com/gorrila/mux"
cannot find package "github.com/gorrila/mux" in any of
错误信息是:
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 代码创建的目录的第二个位置看到了 mux。
我知道有人问过这个问题,我试着按照那个问题的建议进行调试。
我使用自制软件并安装了 go 版本 go1.10.3 darwin/amd64
。
这是我认为与我的 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"
我还设置了我的 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
.
此设置足以让我可以 运行 基本的围棋程序,如 hello world。因此,我随后尝试使用 mux
库编写 运行 代码。
我首先在我的程序目录中安装了 mux(cd 到 /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 目录中看到了 gorilla 目录,所以我不确定是什么问题。
运行go build
returns关注的包裹:
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。我的路径有问题吗?我一直在检查最后一条路径以查看是否存在 mux 目录。
你能试试这样设置你的.bash_profile
吗:
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
您似乎拼错了 "github.com/gorilla/mux"
– 它有一个 "r" 和两个 "l"。 (仔细比较你引用的 go get
命令和源文件中的 import
语句。)
错误信息是:
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 代码创建的目录的第二个位置看到了 mux。
我知道有人问过这个问题
我使用自制软件并安装了 go 版本 go1.10.3 darwin/amd64
。
这是我认为与我的 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"
我还设置了我的 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
.
此设置足以让我可以 运行 基本的围棋程序,如 hello world。因此,我随后尝试使用 mux
库编写 运行 代码。
我首先在我的程序目录中安装了 mux(cd 到 /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 目录中看到了 gorilla 目录,所以我不确定是什么问题。
运行go build
returns关注的包裹:
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。我的路径有问题吗?我一直在检查最后一条路径以查看是否存在 mux 目录。
你能试试这样设置你的.bash_profile
吗:
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
您似乎拼错了 "github.com/gorilla/mux"
– 它有一个 "r" 和两个 "l"。 (仔细比较你引用的 go get
命令和源文件中的 import
语句。)