I’m aware of four systems for Julia version management:
| Manual | jill | UpdateJulia | juliaup | juliavm
status | official | stable | stable | stable / known bugs | stable?
version multiplexing | N/A | no | yes | yes | yes
coexist with manual install | yes | yes | yes | no | ?
operating systems | all | Linux | all major | Windows / all (with bugs) | Unix
language | N/A | Shell | Julia | Rust & Shell | Shell
dependancies | none | none | Julia | none | none
ui | N/A | cli | Julia REPL | cli | cli
sloc in src | | 284 | 297 | 2306 | 219
github stars | | 229 | 34 | 123 | 49
To quote @greatpet “I hope Julia will officially ship with one of these installers / updaters. Fragmentation in this area is no big deal but still unfortunate for newcomers.”
My thoughts (full disclosure, I am the author of UpdateJulia) are manual installation is tiresome and likely seriously slows the adoption of the latest version. We can only consider making Jill an official installer if it is cross-platform. UpdateJulia is silly because it only works if you already have Julia. Juliaup is an order of magnitude larger than it needs to be and will consequently be more difficult to maintain. On the other hand, jill and juliaup are available through standard distribution mechanisms users likely already have on their machines, and UpdateJulia already comes with the general registry.
Question: do we want an external tool available through standard software installation channels which manage Julia versions from the outside, or do we want to make Julia itself available through standard software installation channels and manage Julia versions from the inside (like Pkg)?
Question: have folks tried multiple/all four of these methods, and what parts of each do you like/dislike?
Question: what are some good best ways forward here?