Trying to find out how pkg environment works

If I see the following line after evaluating an use statement, such as using MLJ - does it mean I am using local git cloned copy?
[ Info: Precompiling MLJ [add582a8-e3ab-11e8-2d5e-e98b27df1bc7]
(This is one a default environment.)

I have installed Revise.jl, and downloaded local copy of MLJ using pkg dev command, but that is on a separate environment. I am not sure how one environment can affect another.

Some clarification would help. Thanks!

Your question is not quite clear (to me). But since there are no other takers, I’ll give it a try.

The precompiling message appears regardless of whether the package was added or developed.

Whether you are using the locally dev’d copy of MLJ or the one from the repo depends on the contents of the current environment’s Project.toml. It either points to a local path (dev) or to the repo (add).

As for the question whether one environment can affect another: you may be running into a stacked environment. If you first activate environment A and then B, the dependencies of both get merged (in other words, A’s dependencies are not forgotten when B is activated).

1 Like

Thanks. This talk was also helpful: JuliaCon 2019 | Pkg, Project.toml, Manifest.toml and Environments | Fredrik Ekre - YouTube