Goの最新バージョンを取ってくる
Goの最新バージョンを取ってくる
目次

僕は Dotfile で Rust と Go を自動でインストールするようにしてる(最近は devcontainer を使うこともあるけど)

Rust はこんな感じのスクリプトで最新バージョンを簡単に取ってこれる

curl --proto '=https' --tlsv1.2 -sSf "https://sh.rustup.rs" | sh

しかし、 Go の公式インストールページ にあるインストール方法は、 まず OS ごとのインストールファイルをダウンロードしてから以下のスクリプトで解凍する流れになっている。

# go version 1.20.5をインストールする場合
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz

この方法だと、手動で最新のインストールファイルをダウンロードする必要がある。

解決策

Go の公式ページには最新バージョンを教えてくれる エンドポイント の公式インストールページがあって、

この url に?m=text を渡して curl するとテキストで最新のバージョンを取得できる

curl "https://go.dev/VERSION?m=text" # >> 1.20.5 (2023年6月11日時点)

あとは、このコマンドを wget で指定した url のバージョン指定部分に埋め込んで ( Command Substitution ) インストールすれば終わり

wget "https://go.dev/dl/$(curl 'https://go.dev/VERSION?m=text').linux-amd64.tar.gz"
rm -rf /usr/local/go && tar -C /usr/local -xzf go*.linux-amd64.tar.gz