如何批量更新已安装的Golang工具/程序?

如何批量更新已安装的Golang工具/程序? 我在我的主目录中安装了几个工具,但是,我想知道是否有像大多数包管理器那样的方法来更新它们?我必须手动一个一个地更新它们吗?

2 回复

在我的主目录中安装了几个工具

你是指用 go install 安装的吗?

如果是这种情况,你可以尝试使用像 gupgo-global-update 这样的工具。

更多关于如何批量更新已安装的Golang工具/程序?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


你可以使用 go install 命令配合通配符来批量更新已安装的工具。首先,列出所有已安装的工具,然后通过循环进行更新。以下是具体步骤:

  1. 列出所有已安装的工具(假设它们都安装在 $GOPATH/bin$GOBIN 目录下):

    ls $GOBIN
    
  2. 使用 go install 命令更新每个工具。例如,如果你知道工具的名称,可以这样做:

    go install golang.org/x/tools/cmd/godoc[@latest](/user/latest)
    go install github.com/go-delve/delve/cmd/dlv[@latest](/user/latest)
    
  3. 或者,如果你有一个工具列表,可以使用循环来批量更新。创建一个包含工具路径的文件(如 tools.txt),每行一个工具:

    golang.org/x/tools/cmd/godoc
    github.com/go-delve/delve/cmd/dlv
    

    然后运行以下脚本:

    while read tool; do
      go install $tool[@latest](/user/latest)
    done < tools.txt
    
  4. 如果你没有明确的列表,可以尝试从 go.mod 文件或依赖中提取工具信息,但这通常需要手动管理。

注意:Go 没有内置的包管理器来批量更新已安装的工具,所以上述方法是一种常见的替代方案。确保你的 Go 版本在 1.16 或以上,以支持 [@latest](/user/latest) 语法。

回到顶部