最新稳定 Go 版本的 URL

是否有指向当前最新的 Go Linux 二进制版本的永久 URL?

我正在编写一个 ansible 脚本,它应该下载最新的 Go 版本并安装它。在 Go 下载站点“https://golang.org/dl/”中,我只能看到发布特定的下载链接。

我想知道是否有像“https://dl.google.com/go/latest.linux-amd64.tar.gz”这样的链接可用?

如果没有关于如何编写脚本获取最新的 golang 版本并安装它的建议?


不负相思意
浏览 278回答 5
5回答

德玛西亚99

您可以一次性下载最新的稳定版 Go :)wget "https://dl.google.com/go/$(curl https://go.dev/VERSION?m=text).linux-amd64.tar.gz"

至尊宝的传说

正如在这里找到的,Google 有一个 Linux 安装程序可以在 Linux 上安装 Go:https://storage.googleapis.com/golang/getgo/installer_linux此安装程序获取最新版本的 Go 并安装它。似乎这是目前在 Linux 上安装最新版本的最简单方法。获取文件并执行它的最新官方方法是:curl -LO https://get.golang.org/$(uname)/go_installerchmod +x go_installer./go_installerrm go_installer

一只萌萌小番薯

您可以生成最新的 url:https://dl.google.com/go{{ version }}.{{ os }}-{{ arch }}.tar.gz操作系统: linux、darwin、windows、freebsd架构: amd64、386、armv6l、arm64、s390、ppc64le对于最新的稳定版本,您可以使用 curl 或其他方式从 url 获取值:https://golang.org/VERSION?m=text这是一个 ansible 剧本作为例子:---- hosts: server  gather_facts: no  vars:    version : "latest"    arch: arm64    os: linux    latest_version_url: https://golang.org/VERSION?m=text    archive_name: "{{ filename_prefix }}.{{ os }}-{{ arch }}.tar.gz"    download_url: https://dl.google.com/go/{{ archive_name }}    bin_path: /usr/local/go/bin  tasks:    - name: Get filename prefix with latest version      set_fact:        filename_prefix: "{{ lookup('url', latest_version_url, split_lines=False) }}"      when: version == "latest"        - name: Get filename prefix with fixed version      set_fact:        filename_prefix: go{{ version }}      when: version != "latest"        - name: Try to get current go version installed      command: go version      register: result      changed_when: false    - name: Set current_version var to the current      set_fact:        current_version: "{{ result.stdout.split(' ')[2] }}"      when: result.failed == false    - name: Set current_version var to none      set_fact:        current_version: "none"      when: result.failed == true    - debug:        var: current_version    - name: Download and extract the archive {{ archive_name }}      become: true      unarchive:          src: "{{ download_url }}"          dest: /usr/local          remote_src: yes      when: current_version != filename_prefix

拉风的咖菲猫

我将以下内容用于 Linux:wget "https://go.dev/dl/$(curl 'https://go.dev/VERSION?m=text').linux-amd64.tar.gz" && sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go*.linux-amd64.tar.gz还有一个由 Go Community 构建的跨平台解决方案:curl -LO https://get.golang.org/$(uname)/go_installer && chmod +x go_installer && ./go_installer && rm go_installe

qq_遁去的一_1

我建议推迟到jlund/ansible-go之类的东西,或者复制你需要的那个角色的部分。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go