使用绝对路径时出现”golang ‘matched no packages’错误,但使用相对路径时正常”。

huangapple go评论88阅读模式
英文:

golang "matched no packages" error with absolute path, fine with relative path

问题

我有一个golang代码树。我在Mac(OS X 10.11)上使用golang 1.5.1。我可以使用以下命令成功构建我的代码,命令行上使用相对路径。

go install ./...

但是,如果我使用绝对路径,就会收到错误消息。例如,

go install `pwd`/...]

警告:“/Users/eben/src/cbq-gui/src/github.com/couchbaselabs/cbq-gui/...”没有匹配的包。

这似乎很奇怪,因为“.”和`pwd`应该评估为相同的内容。我错过了什么?谢谢。

英文:

I have a tree of golang code. I am using golang 1.5.1 on a Mac (OS X 10.11). I can successfully build my code with the following command with relative paths on the command line.

go install ./...

But, if I use an absolute path, I get an error message. E.g.,

go install `pwd`/...]

warning: "/Users/eben/src/cbq-gui/src/github.com/couchbaselabs/cbq-gui/..." matched no packages

That seems pretty odd, since "." and `pwd` should evaluate to the same thing. What am I missing? Thanks.

答案1

得分: 6

pwd将使用完整的绝对路径,但go工具期望相对于$gopath的路径。

你真正想要的是go install github.com/couchbaselabs/cbq-gui/...。假设你的gopath设置为/Users/eben/src/cbq-gui,这对我来说有点奇怪。

大多数人在所有项目中都使用一个单独的gopath。

英文:

pwd will use the full absolute path, but the go tool expects paths relative to $gopath.

What you really want is go install github.com/couchbaselabs/cbq-gui/... most likely. Assuming your gopath is set to /Users/eben/src/cbq-gui which is a bit odd to me.

Most people use a single gopath for all their projects.

答案2

得分: 1

你需要在你的$GOPATH("/Users/eben/src/cbq-gui/")中运行go安装命令,并使用go mod。

$ GO111MODULE=on go get -u github.com/couchbaselabs/cbq-gui/...

希望这能帮到你。

英文:

You need to run go installation command in your $GOPATH("/Users/eben/src/cbq-gui/") with go mod.

$ GO111MODULE=on go get -u github.com/couchbaselabs/cbq-gui/...

I hope this helps.

huangapple
  • 本文由 发表于 2015年10月27日 04:57:11
  • 转载请务必保留本文链接:https://go.coder-hub.com/33355472.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定