Julia Language Packages Check out a different branch or version


Sometimes, the latest tagged version of a package is buggy or is missing some required features. Advanced users may wish to update to the latest development version of a package (sometimes referred to as the "master", named after the usual name for a development branch in Git). The benefits of this include:

  • Developers contributing to a package should contribute to the latest development version.
  • The latest development version may have useful features, bugfixes, or performance enhancements.
  • Users reporting a bug may wish to check if a bug occurs on the latest development version.

However, there are many drawbacks to running the latest development version:

  • The latest development version may be poorly-tested and have serious bugs.
  • The latest development version can change frequently, breaking your code.

To check out the latest development branch of a package named JSON.jl, for example, use


To check out a different branch or tag (not named "master"), use

Pkg.checkout("JSON", "v0.6.0")

However, if the tag represents a version, it's usually better to use

Pkg.pin("JSON", v"0.6.0")

Note that a version literal is used here, not a plain string. The Pkg.pin version informs the package manager of the version constraint, allowing the package manager to offer feedback on what problems it might cause.

To return to the latest tagged version,