Julia: Warn when a package loads a dependencies that already got loaded and that dependency has a different version than in the current manifest.

Created on 15 Aug 2019  路  1Comment  路  Source: JuliaLang/julia

Imagine the following scenario: A user starts Julia in Juno (which loads a bunch of dependencies into Julia at startup). They then activate their project and loads a package. If that package shares any dependencies with Juno, the versions of the dependencies Juno used will be used for the package. These versions might be completely incompatible with the current project and can lead to silent errors in the code running.

Loading packages, changing project, and then loading more packages always have this risk but in the case where packages are loaded at startup, it might be hard to realize it is happening.

It might, therefore, make sense to warn in the case where a package tries to load a dependency and code loading sees that the dependency with that UUID is already loaded but at a different version than in the current project.

It could be argued that anyone that wants real reproducibility should run with a custom LOAD_PATH to only have the current project as the entry but I think that is quite rare in practice.

packages

Most helpful comment

Just as a FYI, this is actually the reason why we don't load _any_ packages into the REPL process in the VS Code extension as a general policy.

>All comments

Just as a FYI, this is actually the reason why we don't load _any_ packages into the REPL process in the VS Code extension as a general policy.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

manor picture manor  路  3Comments

iamed2 picture iamed2  路  3Comments

yurivish picture yurivish  路  3Comments

omus picture omus  路  3Comments

i-apellaniz picture i-apellaniz  路  3Comments