[ANN] install-julia-linux

I’ve created a shell script to install and manage Julia versions on Linux.

My goal was to combine my favorite features from the existing jill.sh, jill.py, and juliaup.

Features from jill.py/jill.sh:

  1. Creation of convenient symlinks to julia executables
  2. No auto updates
  3. No locks
  4. No changes to .bashrc

Features from juliaup:

  1. PR versions
  2. Switch between different architectures
  3. Switch between patch versions

v0.2.0 adds a manifest command

install-julia.sh manifest <path>: Install the stable Julia version a project’s Manifest.toml was written with, and make it the default (path is a manifest file or a project dir).

v0.3.0 is released and adds support for macOS and FreeBSD.
There is an INSTALL_JULIA_TRIPLET environment variable to override the triplet auto-detection.

v0.4.0 is released and can install the new nightly and PR builds again!

Added

  • install-julia.sh remove pr deletes every installed PR build.
  • sqv is supported as a signature verifier.
  • The new julia release key is added from PSA: All CI services temporarily halted - #9 by Keno
    The old key is still included but will be removed in a future release.

Changed

  • PR builds now download from Julia’s new ephemeral PR bucket (https://julialang-ephemeral-pr.s3.amazonaws.com, overridable with the new INSTALL_JULIA_PR_URL environment variable). The version specifier is now the full 40-char commit sha (e.g. pr4d42a1b8c138fd80ce23624c43185bcf7051c6f2, installed as julia-pr4d42a1b8c1) instead of pr<number>, which now fails.

I love this script. Hit the sweet spot for simplicity and features.

just wondering, i looked at the readme and it says the script is POSIX, would it be possible to make it work on BSD systems as well as Linux?

Yes it works on FreeBSD and macOS if you have the required dependencies. The less common one is gpgv from gnupg.

thats very cool!