5 回答

TA贡献1770条经验 获得超3个赞
您可以一次性下载最新的稳定版 Go :)
wget "https://dl.google.com/go/$(curl https://go.dev/VERSION?m=text).linux-amd64.tar.gz"

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

TA贡献1795条经验 获得超7个赞
您可以生成最新的 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

TA贡献1995条经验 获得超2个赞
我将以下内容用于 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
- 5 回答
- 0 关注
- 277 浏览
添加回答
举报