Skip to content


My Setup

My current setup is Julia 1.9 run from the terminal and Visual Studio Code as editor.

It appears that the default editor is determined by the system wide file association. No need to set the JULIA_EDITOR environment variable.

Updating to a new version

After starting the new version, basic packages need to be added so the startup code can be run (e.g., OhMyREPL). In my case these are:

]add OhMyREPL Revise BenchmarkTools LocalRegistry
dev ~/Documents/julia/StartupLH

There is no need to copy installed packages to the new version's subdirectory. They are downloaded again as needed.


This is now the default method for managing Julia versions. For Mac, juliaup lists as beta, but seems to work.

Add a channel to the installed list: juliaup add After that, a simple juliaup update updates the installed channels.

Then start the desired Julia version by providing the channel; as in julia +rc~aarch64.

VSCode automatically finds the default Julia binary. The "executable path" field in the Julia extension settings should be left blank.

On a cluster

The Jill bash script can install the current julia version. It also creates a symlink so that julia-1.7 starts that version.

Customizing the REPL

On MacOS, meta-X means Esc-X.

There does not seem to be a way of binding Alt-x.

Customizing key bindings is somewhat tricky. One has to edit startup.jl to define a function that modifies the key map.

I have not been able to assign Ctrl-H and similar. Perhaps iterm intercepts them, but they always arrive as control sequences.

Invisible lines in stacktraces (1.6): This happens for various colorschemes. In iTerm, set the minimum contrast slider to make those lines visible.

VS Code

Set the Julia executable path to /usr/local/bin/julia (the symlink created above).

A bash script that links an external terminal REPL to the Julia VSCode extension.


When problems with package operations occur, it often helps to reinstall the main registry:

pkg> registry rm General

Julia will automatically redownload the general registry when needed.

Clearing out the package cache may also help.