In the particular scenario, Flux.jl depends on Zygote.jl,
Pkg.add("Flux") also adds a version of Zygote behind the scene.
However, when it is necessary to access something in Zygote,
it is still necessary to explicitly Pkg.add(“Zygote”), even though a
version of Zygote is already loaded.
The question and issue: currently when doing this,
it triggers a package upgrade, Zygote v0.4.13 -> v0.4.17
That is probably a good thing, however my program needs to be exactly reproducable, and so I want to be in control of when packages change versions.
How can I prevent
Pkg.add() from changing the version of the added package.