亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

最新穩定 Go 版本的 URL

最新穩定 Go 版本的 URL

Go
不負相思意 2023-03-21 16:48:11
是否有指向當前最新的 Go Linux 二進制版本的永久 URL?我正在編寫一個 ansible 腳本,它應該下載最新的 Go 版本并安裝它。在 Go 下載站點“https://golang.org/dl/”中,我只能看到發布特定的下載鏈接。我想知道是否有像“https://dl.google.com/go/latest.linux-amd64.tar.gz”這樣的鏈接可用?如果沒有關于如何編寫腳本獲取最新的 golang 版本并安裝它的建議?
查看完整描述

5 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

您可以一次性下載最新的穩定版 Go :)

wget "https://dl.google.com/go/$(curl https://go.dev/VERSION?m=text).linux-amd64.tar.gz"


查看完整回答
反對 回復 2023-03-21
?
至尊寶的傳說

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


查看完整回答
反對 回復 2023-03-21
?
一只萌萌小番薯

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


查看完整回答
反對 回復 2023-03-21
?
拉風的咖菲貓

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


查看完整回答
反對 回復 2023-03-21
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

我建議推遲到jlund/ansible-go之類的東西,或者復制你需要的那個角色的部分。



查看完整回答
反對 回復 2023-03-21
  • 5 回答
  • 0 關注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號