PSA: pin Revise at 2

Update: now that Revise 3 has been released, this is no longer necessary. Just use fully-updated packages.

Several folks are having Revise problems that stem from Pkg installing a very old Revise version. You can fix it with

pkg> add Revise@2
pkg> pin Revise

For those who want the details: some of Revise’s dependencies have been upgraded in preparation for a Revise v3, but that release isn’t ready yet. Pkg’s resolver happens to notice that it can install newer versions of the dependencies if it goes back to an ancient version of Revise that didn’t have those dependencies.

This will be fixed when Revise 3 comes out, but for now pinning Revise seems likely to be the only reliable option.


Perhaps a better approach is to add

Revise = "2"

to the project file. pin completely locks the version and does not allow for updates.


Yes, that’s even better. Hopefully we won’t need more 2.x updates much longer, as it seems there are few bugs that are not the main target of v3, but you never know.

For those who may not fully understand @fredrikekre’s suggestion, you can edit whatever Project.toml files you use to include that [compat] line. That includes your default environments, e.g., .julia/environments/v1.5/Project.toml. That file doesn’t usually have [compat] entries but adding one in this case is a great idea.



Revise = ">= 2"

would be better for those who want to upgrade automatically when Revise 3.0 is released.


This is no longer necessary due to the release of Revise 3. Users who pinned Revise are recommended to free Revise followed by update. If you added a [compat] to your default environment, you are encouraged to remove it now.