How does one set up a centralized Julia installation?

Note that installing weakdeps is IMHO not enough, they also have to be loaded, afaiu. Thus, I’m not sure if a central Julia installation will help you here.

Hi all, I just started creating these notes - so they’re obviously WIP - but maybe they are helpful:

https://juliahpc.github.io/JuliaOnHPCClusters/sysadmin_julia/

(Feel free to ask questions, file issues, and/or make PRs!)

Note that lots of information that has been shared in this threads (thanks!) is unfortunately outdated. I’ll try to keep the notes linked above up to date (again, feel free to help me!).

9 Likes

Reopening this thread since there still doesn’t seem to be a canonical solution that works for shared computing systems.

We eventually managed to set up a single, centralised depot with some common, large dependencies (e.g. Plots.jl) that a user can install over the top of:

export JULIA_DEPOT_PATH="${HOME}/.julia:/central/readonly/depot/Apps/Julia/julia-1.10.2/local/share/julia"
export JULIA_PROJECT="${HOME}/.julia/environments/v1.10"
export JULIA_LOAD_PATH="/central/readonly/depot/Apps/Julia/julia-1.10.2/local/share/julia/environments/v1.10:"

Note the trailing colon on the last line.

This seems to be working with Julia 1.10.3. I’m not sure how this will behave when the central depot’s packages become outdated.

Since you’ve specified $HOME/.julia as the first entry in the depot path, when a user uses Pkg to install a new package that is not already stored in the central depot, it will get installed in the user’s own $HOME/.julia.

2 Likes