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 關注
- 222 瀏覽
添加回答
舉報