LinuxmacOS

Where Is the Julia Depot Directory?

Julia depot directory with environments, packages and registries, and JULIA_DEPOT_PATH control.

Last updated

Julia keeps user state in a .julia depot in your home: environments with their manifests, downloaded packages, registries, compiled cache and logs. Environments pin exact versions per project while the depot supplies the shared package pool underneath.

The JULIA_DEPOT_PATH variable relocates or layers depots, the supported answer to full home directories and shared clusters. Depot bloat comes mostly from compiled cache and old package versions, so the cleanup story is pruning environments and letting Julia recompile rather than hand deleting internals.

Where Julia stores this, by platform

Linux
~/.julia

Key children include environments, packages, registries, compiled and logs. Set JULIA_DEPOT_PATH in your shell rc to relocate. Project Manifest.toml files stay inside each repo and reference into this pool.

macOS
~/.julia

Same layout as Linux. Juliaup managed toolchains live separately under ~/.juliaup, so depot moves never disturb the version manager itself.

Frequently asked questions

how do i move the julia depot to another drive

Set JULIA_DEPOT_PATH to the new location before launching Julia, then move the .julia directory there. Environments, registries and compiled cache all resolve from that variable, so one move migrates everything.

can julia share packages between users

No. Depot paths stack: JULIA_DEPOT_PATH accepts a colon separated list with the first entry writable. Shared read only depots plus a personal writable layer suit labs and clusters without duplicating gigabytes per user.

Notice an outdated path? Let us know.