Reverting back to avoid precompile errors?

To be clear, the problem here is as follows:

  1. Julia is started and some packages are imported as part of an editing environment (e.g. IJulia, Atom etc.) or from the startup file. These imports happen in some (Julia) environment (possibly the default) with its set of package versions for direct and indirect dependencies.
  2. A different environment is activated. This might have different package versions in its manifest than the first environment had because the compat requirements makes it necessary to resolve to a different set of versions.
  3. Some package is imported in the new environment. In case this package or one of its dependencies was already loaded in step 1, that will be reused since Julia can only have one version of a given package loaded in the same process. However, if that was of a different version than we wanted to load this time, we won’t have the code we intended and if there were breaking changes between the versions things might, well, break.

Actually Revise has very few non-stdlib indirect dependencies but if Requires or OrderedCollections ever get breaking updates, things might get ugly.

2 Likes