1
0

【Golang】Go の最新リリース・バージョンの確認・取得【cURL】

Last updated at Posted at 2024-06-26

Go(以下 Golang)のリリースされている最新のバージョンを cURL で取得したい。

ぶっちゃけ https://go.dev/dl/ を覗きに行けばいいのですが、golang 本体の更新をパッケージマネージャでなく俺様スクリプトで行っているため、バージョン情報を取得できるエンドポイントが欲しかったのです。

golang 最新リリースバージョン 確認 curl でググってもピンポイントでヒットしなかったり、https://go.dev/VERSION?m=text を使った方法ばかりだったので、自分のググラビリティとして。

TL; DR (今北産業)

  1. 確認用のエンドポイントが提供されている
    • 最新リリース・バージョンの確認 URL: https://go.dev/dl/?mode=json
  2. よく見かける https://go.dev/VERSION?m=text は、https://go.dev/ のバックエンドで動いている golang のバージョン1で、最新と異なることがある
  3. レスポンスは JSON なので jq コマンドなどで抜き出す必要がある
最初のstableバージョンを抜き出す
LATEST=$(curl -sSL https://go.dev/dl/?mode=json | jq -r ['.[] | select(.stable == true)'][0].version)
実行例
$ curl -sSL https://go.dev/dl/?mode=json | jq -r ['.[] | select(.stable == true)'][0].version
go1.22.4

ちなみに、最新ではないものの go.dev のドキュメントで生成されるサンプルの動作と合わせたい場合は、https://go.dev/VERSION?m=text の最初の行だけを取り出すと、バージョンを合わせられます。

go.devのgoバージョンを取得
CURRENT=$(curl -s https://go.dev/VERSION?m=text | head -n 1)
実行例
$ curl -s https://go.dev/VERSION?m=text | head -n 1
go1.22.1

参考文献

  1. https://github.com/golang/go/issues/51135#issuecomment-1035545489

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0