Yes, I very strongly agree with that! I have observed literally dozens and dozens of Julia users here in an academic setting going from beginner and pretty knowledgeable users, and this trips up almost all of them. I mean, not 70%, I mean more like 99% And I am only exaggerating a very, very tiny bit here.
I think there is also a very easy and simple fix for this: have one shared project (in the Pkg.jl sense, i.e. simply a project that lives in .julia/environments
) named v1.7global
that is always on in the stack of available env (i.e. essentially what currently is v1.7
). And then make a change that there is always a project active in any Julia session, and if the user doesn’t specify anything activate the shared env v1.7
. Done, I think that would resolve a huge amount of confusion.
The main benefit is that novice users would normally add stuff to the v1.7 project, and if they then activate a different project, that stuff would no longer hang around. If someone wants to make a package always available, then they need to go through extra hoops, which would be much better because that is the much less common scenario. For now they could just activate the v1.7
project, add a dep, and be done, but one could also use syntax like ]add MyPackage --project=@v1.7shared
or something like that.