我正在执行以下命令:
$ 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_packages的\ src \ golang.org \ X \工具\ CMD \兽医 (来自$ GOPATH)
我无法理解cannot find package
对get
有何意义。它应该从互联网上获得包裹。为什么要在本地寻找?
答案 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 ......”),你已经确定了。