【问题标题】:Cannot install vet package with go get无法使用 go get 安装 vet 软件包
【发布时间】:2016-06-10 19:06:17
【问题描述】:

我正在运行以下命令:

$ go get -u golang.org/x/tools/cmd/vet

package 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:\Development\Software\go\downloaded_pa​​ckages\src\golang.org\x\tools\cmd\vet (来自 $GOPATH)

我真的无法理解 cannot find packageget 的意义。它应该从互联网上获取包裹。为什么要在本地找呢?

【问题讨论】:

  • 它下载了 repo,但代码库中本地不存在 vet 命令。 vet 工具默认包含在 go 发行版中。
  • @JimB 如果默认包含,那么我猜它应该在GOROOT中找到它?
  • 否,因为GOROOT中的源路径不同。 ($GOROOT/src/cmd/vet),但它应该已经构建好了。
  • @JimB 那么是否不需要使用go get 安装vet?我正在关注this guide here 安装gosublime,它在说明中列出了安装vet
  • 不,那个指南已经过时了。

标签: go


【解决方案1】:

@JimB 在 cmets 中总结了 - 你不需要单独安装 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,这会导致错误(“找不到包...”),因为“ vet" 部分不存在 - 不久前它已移出。 (go get 首先下载/克隆代码,然后尝试在本地系统上编译包。)

这就是说,你可能已经有了go vet - 尝试输入“go vet -h”,如果它有效(你应该看到类似:“usage: vet ...”),你'重新设置。

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2020-08-14
    • 2019-04-21
    相关资源
    最近更新 更多