Registries contain information about packages, such as available releases and dependencies, and where they can be downloaded. The
General registry (https://github.com/JuliaRegistries/General) is the default one, and is installed automatically if there are no other registries installed.
Pkg's registry handling requires at least Julia 1.1.
Registries can be added, removed and updated from either the Pkg REPL or by using the functional API. In this section we will describe the REPL interface. The registry API is documented in the Registry API Reference section.
A custom registry can be added with the
registry add command from the Pkg REPL. Usually this will be done with a URL to the registry.
Adding a custom registry might cause the
General registry to not be added automatically. In that case, we can simply add the
General registry manually:
pkg> registry add https://github.com/JuliaRegistries/General Cloning registry from "https://github.com/JuliaRegistries/General" Added registry `General` to `~/.julia/registries/General`
and now all the packages registered in
General are available for e.g. adding. To see which registries are currently installed you can use the
registry status (or
registry st) command
pkg> registry st Registry Status  General (https://github.com/JuliaRegistries/General.git)
Registries are always added to the user depot, which is the first entry in
DEPOT_PATH (cf. the Glossary section).
Registries can be removed with the
registry remove (or
registry rm) command. Here we remove the
pkg> registry rm General Removing registry `General` from ~/.julia/registries/General pkg> registry st Registry Status (no registries found)
In case there are multiple registries named
General installed you have to disambiguate with the
uuid, just as when manipulating packages, e.g.
pkg> registry rm General=23338594-aafe-5451-b93e-139f81909106 Removing registry `General` from ~/.julia/registries/General
registry update (or
registry up) command is available to update registries. Here we update the
pkg> registry up General Updating registry at `~/.julia/registries/General` Updating git-repo `https://github.com/JuliaRegistries/General`
and to update all installed registries just do:
pkg> registry up Updating registry at `~/.julia/registries/General` Updating git-repo `https://github.com/JuliaRegistries/General`
Pkg only provides client facilities for registries, rather than functionality to create or maintain them. However, Registrator.jl and LocalRegistry.jl provide ways to create and update registries, and RegistryCI.jl provides automated testing and merging functionality for maintaining a registry.