# Debian/Ubuntu users: where do you install julia's?

**URL:** <https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270>\
**Category:** Tooling\
**Tags:** linux, ubuntu\
**Created:** [January 20, 2023, 4:59pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270 "2023-01-20T16:59:27Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![tfiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tfiers/32/32427_2.png) [@tfiers](https://discourse.julialang.org/u/tfiers)\
**Post date:** [January 20, 2023, 4:59pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/1 "2023-01-20T16:59:27Z")

</div>

I’m on Windows, but experimenting with running Julia (and jupyter / IJulia) from WSL2 (windows subsystem for linux), in the hopes of speeding up startup latency times.\[1\]

I’m not an experienced Linux user, and [Platform Specific Instructions for Official Binaries](https://julialang.org/downloads/platform/#linux_and_freebsd) does not give any opinion on where to download and install.

After googling, and browsing `man hier`, I’m considering

```plaintext
/usr/local/julia-1.6.7
/usr/local/julia-1.8.5
/usr/local/julia-1.9.0-beta3

```

etc.

What do others do?  
Do you do the `wget`s and `tar zxvf`s and `rm -rf`’s and path manipulation for julia version mgmt, or do you use some tool?

* * *

1. See e.g. [Package load speed: Windows vs Linux](https://discourse.julialang.org/t/package-load-speed-windows-vs-linux/93039)  
and [Loading is 10x slower under Windows than WSL on the same machine · Issue #40570 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/40570) linked therein.

---

<div class="post-metadata">

**Author:** ![John\_Gibson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/john_gibson/32/5321_2.png) [@John\_Gibson](https://discourse.julialang.org/u/John_Gibson)\
**Post date:** [January 20, 2023, 5:08pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/2 "2023-01-20T17:08:16Z")

</div>

On my personal machines, I just untar into a directory within my home directory and then make symbolic links to the julia executable, e.g.

```julia
cd ~/packages
tar xvfpz julia-1.8.5-linux-x86_64.tar.gz
cd ~/bin
rm julia
ln -s ~/packages/julia-1.8.5/bin/julia julia-1.8.5
ln -s julia-1.8.5 julia

```

I have `~/bin` in my PATH so that executing `julia` from the command line starts the most recent julia version, and prior versions are still accessible by calling, say, `julia-1.8.3`.

Doing this without root privileges is easier and safer.

---

<div class="post-metadata">

**Author:** ![contradict](https://avatars.discourse-cdn.com/v4/letter/c/ac91a4/32.png) [@contradict](https://discourse.julialang.org/u/contradict)\
**Post date:** [January 20, 2023, 5:14pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/3 "2023-01-20T17:14:19Z")

</div>

I use [Gnu Stow](https://www.gnu.org/software/stow/). I extract the julia tar file in `/usr/local/stow` and then `stow` creates the necessary symlinks to install everything. Installing in `/usr/local` does require root access, if you don’t have that you could use a subdirectory of `$HOME` for your stow and target directories.

```julia
curl https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.4-linux-x86_64.tar.gz -o - \
    | sudo tar -C /usr/local/stow -xzf-

# remove the symlinks to the previous version
sudo stow -Dd /usr/local/stow julia-1.8.3
# Install the new symlinks
sudo stow -d /usr/local/stow julia-1.8.4

```

---

<div class="post-metadata">

**Author:** ![tfiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tfiers/32/32427_2.png) [@tfiers](https://discourse.julialang.org/u/tfiers)\
**Post date:** [January 20, 2023, 5:19pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/4 "2023-01-20T17:19:15Z")

</div>

Thank you, those are both great suggestions!

On root access and

> [@John\_Gibson](#):
>
> Doing this without root privileges is easier and safer.

I’m currently `root`, as it’s a VM anyway so I’m not afraid of bricking something; and I remember lots of software being hard to install if you weren’t root.

Have you ever been saved by not having root privileges?

---

<div class="post-metadata">

**Author:** ![palday](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palday/32/12640_2.png) [@palday](https://discourse.julialang.org/u/palday)\
**Post date:** [January 20, 2023, 5:38pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/5 "2023-01-20T17:38:02Z")

</div>

[`juliaup`](https://github.com/JuliaLang/juliaup) is a great way to install and manage multiple Julia versions.

---

<div class="post-metadata">

**Author:** ![tfiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tfiers/32/32427_2.png) [@tfiers](https://discourse.julialang.org/u/tfiers)\
**Post date:** [January 20, 2023, 5:51pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/6 "2023-01-20T17:51:42Z")

</div>

Great, that’s exactly what I was looking for 🙂

I now notice it’s also mentioned at the bottom of

> [@tfiers](#):
>
> [Platform Specific Instructions for Official Binaries](https://julialang.org/downloads/platform/#linux_and_freebsd)

(though it only mentions it for the Windows Store; made a PR to fix.  
[/downloads/platform: juliaup is not just for Windows by tfiers · Pull Request #1812 · JuliaLang/www.julialang.org · GitHub](https://github.com/JuliaLang/www.julialang.org/pull/1812))

---

<div class="post-metadata">

**Author:** ![benz0li](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/benz0li/32/37040_2.png) [@benz0li](https://discourse.julialang.org/u/benz0li)\
**Post date:** [January 20, 2023, 6:11pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/7 "2023-01-20T18:11:13Z")

</div>

Why not use [Docker](https://docs.docker.com/desktop/install/windows-install/) and simply spin up a container from my [JupyterLab Julia docker stack](https://github.com/b-data/jupyterlab-julia-docker-stack).  
→ Multi-arch (`linux/amd64` , `linux/arm64/v8` ) docker images based on Debian including Julia, JupyterHub, JupyterLab, code-server (aka VS Code), Git, Git LFS, Pandoc, Zsh plus several popular VS Code extensions.

These images have Julia installed at `/opt/julia`. For Julia versions `1.9` and later, Julia will be installed at `/usr/local/julia`.

See also [JupyterLab + code-server + Julia](https://discourse.julialang.org/t/jupyterlab-code-server-julia/82808)

---

<div class="post-metadata">

**Author:** ![tfiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tfiers/32/32427_2.png) [@tfiers](https://discourse.julialang.org/u/tfiers)\
**Post date:** [January 20, 2023, 6:12pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/8 "2023-01-20T18:12:24Z")

</div>

That’s cool!  
IME Docker is slower than WSL2 (plus less interactivity with the OS etc)

EDIT: in terms of startup latency I mean

Love that TinyTeX is installed 🙂

---

<div class="post-metadata">

**Author:** ![John\_Gibson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/john_gibson/32/5321_2.png) [@John\_Gibson](https://discourse.julialang.org/u/John_Gibson)\
**Post date:** [January 20, 2023, 6:26pm UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/9 "2023-01-20T18:26:30Z")

</div>

> [@tfiers](#):
>
> Have you ever been saved by not having root privileges?

with respect to Julia, no, but in general yes, many times. My root prompt is `root#` in bright red, and it reminds me to be extra careful about moving and removing things. And Julia works just fine when installed not as root.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 21, 2023, 5:05am UTC](https://discourse.julialang.org/t/debian-ubuntu-users-where-do-you-install-julias/93270/10 "2023-01-21T05:05:47Z")

</div>

I prefer [GitHub - johnnychen94/jill.py: A cross-platform installer for the Julia programming language](https://github.com/johnnychen94/jill.py) . In contrast to JuliaUp new versions are available faster.

```julia
pip3 install jill
jill install 1.8

```

You want to try the newest beta:

```julia
jill install 1.9 --unstable
jill switch 1.9

```

You can easily use different Julia versions per project.
