The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

installing-julia

installing-julia

Use when your machine does not have JuliaLang runtime

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: installing-julia description: Use when your machine does not have JuliaLang runtime

Installing Julia

If your machine does not have the Julia programming language runtime installed, follow the instructions below to install it.

Preferred: official installer

On macOS or Linux, run the following command:

$ curl -fsSL https://install.julialang.org | sh -s -- --yes

On Windows, run the following command in PowerShell:

PS> winget install --name Julia --id 9NJNWW8PVKMN -e -s msstore

Fallback: direct tarball install

Use this method when the curl | sh installer cannot run — for example, when a sandbox or permission policy blocks piping a remote script directly into sh (the "Code from External" pattern). This downloads the same official Julia binary the installer would fetch, but as a plain file you extract locally — no shell-pipe-to-interpreter.

Steps (macOS / Linux)

  1. Detect platform with uname -s (Linux / Darwin) and uname -m (x86_64 / aarch64 / arm64).

  2. Pick the URL fragment matching your platform:

    OS / ArchURL pathTarball suffix
    Linux x86_64linux/x64linux-x86_64.tar.gz
    Linux aarch64linux/aarch64linux-aarch64.tar.gz
    macOS x86_64 (Intel)mac/x64mac-x86_64.tar.gz
    macOS aarch64 (Apple)mac/aarch64macaarch64.tar.gz
  3. Resolve the latest stable patch (see [[finding-latest-julia-version]] for the full set of methods — do not hard-code VERSION= from memory), then download and extract:

    VERSION=$(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')
    MINOR=${VERSION%.*}             # → e.g. 1.12
    ARCH_PATH=linux/aarch64         # ← from table above
    ARCH_SUFFIX=linux-aarch64       # ← from table above
    
    mkdir -p ~/julia-install && cd ~/julia-install
    curl -fsSLO "https://julialang-s3.julialang.org/bin/${ARCH_PATH}/${MINOR}/julia-${VERSION}-${ARCH_SUFFIX}.tar.gz"
    tar -xzf "julia-${VERSION}-${ARCH_SUFFIX}.tar.gz"
    export PATH="$HOME/julia-install/julia-${VERSION}/bin:$PATH"
    julia --version
    
  4. To persist PATH across sessions, append the export PATH=... line to ~/.bashrc, ~/.zshrc, or the appropriate shell profile.

Windows fallback

If winget is unavailable, download the .zip package from https://julialang.org/downloads/, extract it, and add the inner bin\ directory to PATH.

Notes

  • The tarball is the same artifact the official installer / juliaup would fetch — only the delivery mechanism differs.
  • Version switching via juliaup add <version> is NOT available with this method; install another tarball to use a different version.
  • In container or CI environments where PATH is set per-command, reference julia by full path ($HOME/julia-install/julia-<VERSION>/bin/julia) instead of relying on shell profile.
Saved skills