Diamond dependencies problem between Atom dependencies and my project's dependencies

Hello,

I want to use StringDistances v0.6.2 in my project that I am working on in the Juno IDE.

The package Atom v0.11.3 has a dependency to DocSeeker v0.3.1 (version set in the compat bloc) which itself has a dependency to StringDistances v0.4.0. (version set in the compat bloc).

From Atom, if I run the following

using Pkg
Pkg.activate(".")
Pkg.status()

I get

[...]
StringDistances v0.6.2
[...]

That is atctually not the case, julia is using StringDistances v0.4.0 (I can see that because I am missing some functions that are new in v0.6.2 and also when displaying the documentation)

NOTES:

  • I am using julia 1.2
  • If I run my project outside of Atom I don’t have the problem anymore

Is there a way to prevent the Atom package from interfering with the project ?
Is it a bug that Pkg.status() does not reflect the version of the package that is actually used?

That doesn’t seem relevant since in this case it is the same StringDistances package at two different versions that is in question.

Yeah, that’s an unfortonate side effect of how Juno loads its dependencies. The next release (which should be out in a few hours) will fix the immediate issue (by allowing StringDistances@0.6).

The release after that will hopefully fix the issue once and for all by vendoring all dependencies.

I upgraded to the latest version of the julia-client for Atom using Atom package manager.
I can now use StringDistances@0.6 but auto completion does not work anymore :frowning_face:

From this post :

I hit Shit-Ctrl-I and I get

Please upgrade Atom.jl to at least version 0.12.0 with e.g. using Pkg; Pkg.update()

I had to remove the current version of DocSeeker that was preventing me from updating to the desired version of Atom

julia> Pkg.add(Pkg.PackageSpec(;name="Atom", version="0.12.0"))
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package DocSeeker [33d173f1]:
 DocSeeker [33d173f1] log:
 ├─possible versions are: 0.3.2 or uninstalled
 ├─DocSeeker [33d173f1] is fixed to version 0.3.2
 └─found to have no compatible versions left with Atom [c52e3926] 
   └─Atom [c52e3926] log:
     ├─possible versions are: [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.2] or uninstalled
     └─restricted to versions 0.12.0 by an explicit requirement, leaving only versions 0.12.0

     
(v1.2) pkg> rm DocSeeker

Pkg.add(Pkg.PackageSpec(;name="Atom", version="0.12.0"))

But Atom@0.12.0 has this issue Atom precompilation fails after Juno v0.8.0 update [BUG] · Issue #480 · JunoLab/Juno.jl · GitHub

After updating to Atom@0.12.2, Juno works as expected :slightly_smiling_face: