I prefer to setup my Linux system as automatically as possible using a setup script.
Currently, I’m downloading the latest Julia binary manually since with each version the URL changes.
For example: https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.2-linux-x86_64.tar.gz
Is there a URL that always points to the latest binary of a specific architecture?
Something like: https://julialang-s3.julialang.org/bin/linux/x64/latest/
If not, is it planned?
Does a workaround exist?
How do you get the latest binary?
Minor improvement on @jling suggestion in case you want the latest stable version:
julia> using JSON3, Downloads
julia> j = JSON3.read(String(take!(Downloads.download("https://julialang-s3.julialang.org/bin/versions.json", IOBuffer()))));
julia> maxver = maximum(v for v in VersionNumber.(String.(keys(j))) if v.prerelease == ())
Thank you all for your great ideas!
I really wish there was a URL that points to the latest version, provided by the core team. Or maybe even something like rustup, but that is probably to much work in the current stage.
Is something like that feasible? @StefanKarpinski
That is true.
No, it is a simple bash script to setup my personal desktop environment.
it’s at least x86_64 because ARM64 and PowerPC64, and then you have musl or gcc.
My point is it’s not gonna be portable if you hard-code architecture and operation system. Based on this, if you need to “handle” it somehow, it’s basically not much more or less complex than what we have now – a simple JSON that has everything
That is true.
However, my intention is much simpler: Have a simple setup script that installs and configures all I need when installing a fresh Linux on my desktop system.
That being said, I definitely agree that a portable and easy solution would be even better.
Rust does this very well, just run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
(Getting started - Rust Programming Language)
@johnh@rikh I’ve had good experiences with the Nix package manager (even without full NixOS) on CentOS-based HPC cluster machines, even without root by using PRoot and even on NFS by following the NFS instructions and use-sqlite-wal = false.