UpdateJulia

Updating Julia should be easy. The easier it is, the more likely folks will develop with the latest versions, and the less friction we will have with fast paced language development.

Currently, it is challenging. There are several long, unresolved discourse threads on the topic, 3rd party instructions galore, and more instructions.

The situation is summed up quite well in this concise question and its first answer

We have jill.py, but one of the great attractions of julia is that it is self contained.

Introducing UpdateJulia — a simple cross platform julia installer! :smiley:

]add UpdateJulia
using UpdateJulia
update_julia()
25 Likes

Very nice package! It makes me feel silly for doing all of the downloading and symbolic linking manually this entire time. Does this support installing release candidates as well?

1 Like

Yes!

julia> update_julia("1.7.0-rc3")
installing julia 1.7.0-rc3
This version is out of date. The latest official release is 1.7.0
[...]

Right now, there are no prereleases available for 1.8, but when there are,

julia> update_julia("1.8")
ERROR: ArgumentError: No released versions starting with "1.8"
Stacktrace:
[...]

Should give the latest one. Digging through internals we find these recently released versions:

sort(collect(filter(x -> x >= v"1.6", keys(UpdateJulia.versions[]))))
13-element Vector{VersionNumber}:
 v"1.6.0"
 v"1.6.1"
 v"1.6.2"
 v"1.6.3"
 v"1.6.4"
 v"1.7.0-beta1"
 v"1.7.0-beta2"
 v"1.7.0-beta3"
 v"1.7.0-beta4"
 v"1.7.0-rc1"
 v"1.7.0-rc2"
 v"1.7.0-rc3"
 v"1.7.0"

You can use update_julia("nightly") to get 1.8 today, but the installed version of Julia will likely be buggy and not appropriate for most users. Further, UpdateJulia only supports nightlies on Mac and Windows.

3 Likes

Nice! Out of curiosity, what’s the reason nightlies are not supported on Linux?

Because there is a bug in the code I haven’t gotten around to fixing :slight_smile:
EDIT: they are supported in UpdateJulia v0.2.1

2 Likes

The links for the documentation don’t work.

The README should be a complete guide & documentation. That there are broken links is bad, but I’m not sure how to fix them.
EDIT: this post helped me make the link work, but the readme is probably still a better guide atm.

1 Like