界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

finding-latest-julia-version

finding-latest-julia-version

【开发与工程】Use when you need the latest stable JuliaLang version number (e.g., to fill `VERSION=` in an install script) instead of hard-coding a value

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: finding-latest-julia-version description: Use when you need the latest stable JuliaLang version number (e.g., to fill VERSION= in an install script) instead of hard-coding a value

Finding the Latest Stable Julia Version

Hard-coding VERSION=1.x.y rots quickly. JuliaLang publishes machine-readable metadata; query it directly.

Preferred: official versions.json

This is the same source juliaup and the official installer use. Each release carries a stable: true|false flag plus per-platform tarball URLs and SHA-256 hashes — useful both for picking a version and for verifying the download.

curl -fsSL https://julialang-s3.julialang.org/bin/versions.json \
  | jq -r 'to_entries
           | map(select(.value.stable))
           | map(.key)
           | sort_by(split(".") | map(tonumber? // 0))
           | last'
# → 1.12.6   (example, as of writing)

If jq is unavailable, use Python:

curl -fsSL https://julialang-s3.julialang.org/bin/versions.json \
  | python3 -c 'import sys, json
d = json.load(sys.stdin)
stable = [v for v, m in d.items() if m.get("stable")]
stable.sort(key=lambda s: tuple(int(x) for x in s.split("-")[0].split(".")))
print(stable[-1])'

To list the latest patch within a specific minor series (e.g., the newest 1.11.x):

curl -fsSL https://julialang-s3.julialang.org/bin/versions.json \
  | jq -r 'to_entries
           | map(select(.value.stable and (.key | startswith("1.11."))))
           | map(.key)
           | sort_by(split(".") | map(tonumber? // 0))
           | last'

Fallback: GitHub Releases API

Use when the S3 endpoint is blocked but api.github.com is reachable. Note that GitHub's "latest" tag follows GitHub release marking, not the JuliaLang stable flag, so prefer versions.json when both work.

curl -fsSL https://api.github.com/repos/JuliaLang/julia/releases/latest \
  | jq -r .tag_name | sed 's/^v//'
# → 1.12.6

Last resort: human page

Open https://julialang.org/downloads/ and read the "Current stable release" line. Only do this when no automated approach works; the page is HTML and shape-changes break scrapers.

Notes

  • versions.json also gives you files[].url and files[].sha256 per platform — use these to script a verified download instead of constructing the URL by hand.
  • This skill returns a version string; the actual install steps live in [[installing-julia]].
我的收藏