Julia Pkg
Julia Pkg is Julia’s package manager for installing packages, managing environments, and developing packages.
What Julia Pkg is
Julia Pkg is Julia’s package manager for installing packages, managing environments, and developing packages. It works with registered Julia packages, Git repositories, local paths, and package artifacts on Linux, macOS, Windows, and FreeBSD. Dependency resolution, compatibility constraints, updates, and package pinning help control project versions. Independent environments can record exact versions in Manifest.toml, while Project.toml and Manifest.toml can let another user recreate a dependency state when referenced sources remain available. Environments may also be overlaid to add packages from another environment. Pkg supports federated private registries, including those behind corporate firewalls, and can resolve offline from already downloaded versions. It runs package tests, executes build steps when packages are first installed, and precompiles added or updated packages by default. The default server is pkg.julialang.org, with fallback to original sources if downloads fail. Pkg offers an interactive REPL and a functional API, plus lockfiles, workspace support, private-registry authentication, and offline installation.
Good
- Supports registries, Git, local paths, and artifacts
- Records exact versions in Manifest.toml
- Provides package pinning and compatibility constraints
- Supports private registries behind firewalls
- Offers REPL and functional API interfaces
Watch out
- Reproduction depends on accessible repositories and registries
- Automatic precompilation is enabled by default
- Package management follows Julia installations
Who it suits
Julia developers who need dependency management, reproducible environments, private registries, or offline installation will find Pkg suitable.
Verdict
Julia Pkg covers installation, version control, environment isolation, testing, and package development across major desktop and server platforms. It is a free choice for Julia projects requiring reproducible or private dependency workflows.
Plans and prices
From Julia Pkg's own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Julia Pkg | Free | Package management is for Julia environments; platform availability follows Julia installations · Not stated |
The facts
Each one read from Julia Pkg's own pages, with the date it was checked.
What it does
- Dependency resolution
- Yeschecked 22 Sep 2026
- Environment isolation
- Pkg supports independent environments whose exact package versions can be recorded in a Manifest file and shared through version control.checked 7 Oct 2026
- Interface
- Pkg provides an interactive REPL interface and a functional API for non-interactive use.checked 7 Oct 2026
- Lockfile support
- Yeschecked 22 Sep 2026
- Offline installation
- Yeschecked 22 Sep 2026
- Offline use
- Pkg has an offline mode that resolves packages using versions already downloaded.checked 7 Oct 2026
- Package formats
- registered Julia packages,Git repositories,local path packages,package artifactschecked 22 Sep 2026
- Package server
- Pkg uses pkg.julialang.org as its default package server and falls back to original sources if server downloads fail.checked 7 Oct 2026
- Package sources
- Packages can be added from registries, Git repositories, or local paths, and can be tracked by branch or commit.checked 7 Oct 2026
- Precompilation
- Packages added or updated through Pkg are automatically precompiled by default, and users can disable automatic precompilation through a setting.checked 7 Oct 2026
- Private registries
- Pkg supports federated registries, including private registries behind corporate firewalls.checked 7 Oct 2026
- Private registry auth
- Yeschecked 22 Sep 2026
- Purpose
- Pkg is Julia’s package manager for installing packages, managing environments, and developing packages.checked 7 Oct 2026
- Reproducibility
- A Project.toml and Manifest.toml can be used by another user to instantiate the same dependency state, provided the referenced repositories and registries remain accessible.checked 7 Oct 2026
- Security handling
- Registries can mark versions as yanked, which Pkg warns about and excludes from new installations while leaving them accessible to instantiate existing environments.checked 7 Oct 2026
- Stackable environments
- Julia environments can be overlaid so a project can use additional packages from another environment.checked 7 Oct 2026
- Support
- The documentation directs users to Julia community forums and chat resources through the Julia project’s GitHub repository.checked 7 Oct 2026
- Testing and builds
- Pkg can run package tests, and package build steps run automatically when a package is first installed.checked 7 Oct 2026
- Version controls
- Pkg supports package compatibility constraints, updates, and pinning packages to prevent updates.checked 7 Oct 2026
- Workspace support
- Yeschecked 22 Sep 2026
Money
- Free plan
- Yeschecked 22 Sep 2026
Where it runs
- Supported platforms
- Linux,macOS,Windows,FreeBSDchecked 22 Sep 2026


