Julia Pkg

What Julia Pkg is
Julia Pkg is Julia’s package manager for installing packages, managing project environments, and developing packages. It can add registered packages, Git repositories, and local paths, and it supports package artifacts. Git sources can be tracked by branch or commit. Pkg resolves dependencies, applies package compatibility constraints, handles updates, and can pin packages to prevent them from changing.
Projects can use independent environments, with exact package versions recorded in a Manifest file. Environments can also be overlaid, letting a project use additional packages from another environment. A Project.toml and Manifest.toml can help another user instantiate the same dependency state when the referenced repositories and registries remain accessible. Pkg supports federated registries, including private ones behind corporate firewalls, and has an offline mode that resolves from versions already downloaded. It can run package tests; package build steps run when a package is first installed, and packages added or updated are precompiled by default. Users can disable automatic precompilation through a setting. The default package server is pkg.julialang.org, with fallback to original sources if downloads fail. Pkg has an interactive REPL interface and a functional API for non-interactive use. It is free and supports Linux, macOS, and Windows; supported platforms also include FreeBSD.
Who it suits
Julia Pkg suits people working with Julia who need to install packages, manage dependencies, or develop packages. It is useful for projects that need isolated or stackable environments, version pinning, private registries, or offline package resolution.
What it does well
- Records exact package versions in a Manifest file.
- Supports independent and stackable environments.
- Can use private registries behind corporate firewalls.
- Offline mode resolves from previously downloaded versions.
- Offers both an interactive REPL and a functional API.
What to know first
- Package management is for Julia environments.
- Recreating an environment depends on referenced repositories and registries remaining accessible.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Julia Pkg | Not stated · Package management is for Julia environments; platform availability follows Julia installations | Free |
As pkgdocs.julialang.org lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Open https://pkgdocs.julialang.org/.
- Use Julia Pkg with a Julia installation on Linux, macOS, or Windows.
- Add packages from a registry, Git repository, or local path.
- Create or select an environment and manage its dependencies through the REPL or functional API.
Verdict
Choose Julia Pkg for managing Julia packages and project environments, especially when you need version records, private registries, or offline resolution. Its environment reproduction depends on the referenced repositories and registries remaining accessible, and package management is tied to Julia environments.
Questions
Does Julia Pkg cost anything?
Julia Pkg is free.
Which platforms does it support?
Its listed platform availability is Linux, macOS, and Windows. The supported-platform list also includes FreeBSD.
Can it use private package registries?
Yes. Pkg supports federated registries, including private registries behind corporate firewalls.
Can a project’s package versions be reproduced elsewhere?
A Project.toml and Manifest.toml can be used to instantiate the same dependency state, provided the referenced repositories and registries remain accessible.
Can Pkg install packages without an internet connection?
Its offline mode resolves packages using versions already downloaded.
Where can users find support?
The documentation directs users to Julia community forums and chat resources through the Julia project’s GitHub repository.
Facts from Julia Pkg's own pages
- Dependency resolution
- Yes · pkgdocs.julialang.org, 22 Sept 2026
- Environment isolation
- Pkg supports independent environments whose exact package versions can be recorded in a Manifest file and shared through version control. · pkgdocs.julialang.org, 7 Oct 2026
- Free plan
- Yes · pkgdocs.julialang.org, 22 Sept 2026
- Interface
- Pkg provides an interactive REPL interface and a functional API for non-interactive use. · pkgdocs.julialang.org, 7 Oct 2026
- Lockfile support
- Yes · pkgdocs.julialang.org, 22 Sept 2026
- Offline installation
- Yes · pkgdocs.julialang.org, 22 Sept 2026
- Offline use
- Pkg has an offline mode that resolves packages using versions already downloaded. · pkgdocs.julialang.org, 7 Oct 2026
- Package formats
- registered Julia packages,Git repositories,local path packages,package artifacts · pkgdocs.julialang.org, 22 Sept 2026
- Package server
- Pkg uses pkg.julialang.org as its default package server and falls back to original sources if server downloads fail. · pkgdocs.julialang.org, 7 Oct 2026
- Package sources
- Packages can be added from registries, Git repositories, or local paths, and can be tracked by branch or commit. · pkgdocs.julialang.org, 7 Oct 2026
- Precompilation
- Packages added or updated through Pkg are automatically precompiled by default, and users can disable automatic precompilation through a setting. · pkgdocs.julialang.org, 7 Oct 2026
- Private registries
- Pkg supports federated registries, including private registries behind corporate firewalls. · pkgdocs.julialang.org, 7 Oct 2026
- Private registry auth
- Yes · pkgdocs.julialang.org, 22 Sept 2026
- Purpose
- Pkg is Julia’s package manager for installing packages, managing environments, and developing packages. · pkgdocs.julialang.org, 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. · pkgdocs.julialang.org, 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. · pkgdocs.julialang.org, 7 Oct 2026
- Stackable environments
- Julia environments can be overlaid so a project can use additional packages from another environment. · pkgdocs.julialang.org, 7 Oct 2026
- Support
- The documentation directs users to Julia community forums and chat resources through the Julia project’s GitHub repository. · github.com, 7 Oct 2026
- Supported platforms
- Linux,macOS,Windows,FreeBSD · pkgdocs.julialang.org, 22 Sept 2026
- Testing and builds
- Pkg can run package tests, and package build steps run automatically when a package is first installed. · pkgdocs.julialang.org, 7 Oct 2026
- Version controls
- Pkg supports package compatibility constraints, updates, and pinning packages to prevent updates. · pkgdocs.julialang.org, 7 Oct 2026
- Workspace support
- Yes · pkgdocs.julialang.org, 22 Sept 2026
Where Julia Pkg stands on Freedom251
- Package Managers#25 of 93