用go get无法安装vet包

时间:2016-06-10 19:06:18

标签: go

我正在执行以下命令:

$ go get -u golang.org/x/tools/cmd/vet
   golang golang.org/x/tools/cmd/vet:无法找到包   “golang.org/x/tools/cmd/vet”中的任何一个:               C:\ Development \ Software \ go \ src \ golang.org \ x \ tools \ cmd \ vet(来自$ GOROOT)
  C:\开发\ SOFTWARE \去\ downloaded_pa​​ckages的\ src \ golang.org \ X \工具\ CMD \兽医   (来自$ GOPATH)

我无法理解cannot find packageget有何意义。它应该从互联网上获得包裹。为什么要在本地寻找?

1 个答案:

答案 0 :(得分:8)

@JimB在评论中总结了这一点 - 您无需单独安装go vet

但仅仅为了完整性,OP问题的直接答案是go vet命令的代码不再存在于golang.org/x/tools/cmd/vet(请参阅https://golang.org/doc/go1.2#go_tools_godoc - 并且因为代码已移动到GitHub)。

因此,当您运行:go get -u golang.org/x/tools/cmd/vet时,它似乎是git克隆golang.org/x/tools/cmd包,然后尝试编译golang.org/x/tools/cmd/vet,这会导致错误(“无法找到包... 。)因为“兽医”部分不存在 - 它前一段时间就搬走了。 (go get首先下载/克隆代码,然后尝试在本地系统上编译软件包。)

所有这一切都是说,你可能已经有go vet - 尝试输入“go vet -h”,如果它有效(你应该看到类似:“usage:vet ......”),你已经确定了。