Yes, this is a similar issue to, Interpreting Pkg add errors), which have already been reported. But it never got any answer, so I will ask again (and possibly suggest more things added to the documentation). It has happened to me twice the last week that I have needed to update a package, but haven’t been able to. When I have realised that an old version of a certain package is what has been causing my troubles I have tried something like:
pkg> add Plots@1.1
and get an error like:
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package StatPlots [60ddc479]:
StatPlots [60ddc479] log:
├─possible versions are: [0.8.0-0.8.2, 0.9.0-0.9.2] or uninstalled
├─restricted to versions * by an explicit requirement, leaving only versions [0.8.0-0.8.2, 0.9.0-0.9.2]
└─restricted by compatibility requirements with Plots [91a5bcdd] to versions: uninstalled — no versions left
└─Plots [91a5bcdd] log:
├─possible versions are: [0.12.1-0.12.4, 0.13.0-0.13.1, 0.14.0-0.14.2, 0.15.0-0.15.1, 0.16.0, 0.17.0-0.17.4, 0.18.0, 0.19.0-0.19.3, 0.20.0-0.20.6, 0.21.0, 0.22.0-0.22.5, 0.23.0-0.23.2, 0.24.0, 0.25.0-0.25.3, 0.26.0-0.26.3, 0.27.0-0.27.1, 0.28.0-0.28.4, 0.29.0-0.29.9, 1.0.0-1.0.14, 1.1.0-1.1.4, 1.2.0] or uninstalled
├─restricted to versions * by SimulationSupport [14e83994], leaving only versions [0.12.1-0.12.4, 0.13.0-0.13.1, 0.14.0-0.14.2, 0.15.0-0.15.1, 0.16.0, 0.17.0-0.17.4, 0.18.0, 0.19.0-0.19.3, 0.20.0-0.20.6, 0.21.0, 0.22.0-0.22.5, 0.23.0-0.23.2, 0.24.0, 0.25.0-0.25.3, 0.26.0-0.26.3, 0.27.0-0.27.1, 0.28.0-0.28.4, 0.29.0-0.29.9, 1.0.0-1.0.14, 1.1.0-1.1.4, 1.2.0]
│ └─SimulationSupport [14e83994] log:
│ ├─possible versions are: 0.1.0 or uninstalled
│ └─SimulationSupport [14e83994] is fixed to version 0.1.0
└─restricted to versions 1.1 by an explicit requirement, leaving only versions 1.1.0-1.1.4
Here simulation support is a personal package I have. While it requires Plots, it, I believe, have not specified any version. The only mention of Plots in the “Project.toml” file is
[extras]
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" │ └─SimulationSupport [14e83994] log:
│ ├─possible versions are: 0.1.0 or uninstalled
│ └─SimulationSupport [14e83994] is fixed to version 0.1.0
└─restricted to versions 1.1 by an explicit requirement, leaving only versions 1.1.0-1.1.4
and
test = ["Plots", ...]
Now I am trying to figure out exactly what is happening, and what I need to do to get a later version of Plots. Unfortunately, I have troubles interpreting the error message I get. I have not been able to find any documentations on it (and if it is one think I’d like to get out of this post, it is that if there is no such documentation, it definitely should be added!).
Lets go through the error line bye line:
ERROR: Unsatisfiable requirements detected for package StatPlots [60ddc479]:
StatPlots [60ddc479] log:
├─possible versions are: [0.8.0-0.8.2, 0.9.0-0.9.2] or uninstalled
This means that these are the only versions of StatsPlots
?
├─restricted to versions * by an explicit requirement, leaving only versions [0.8.0-0.8.2, 0.9.0-0.9.2]
What does the *
mean here?
└─restricted by compatibility requirements with Plots [91a5bcdd] to versions: uninstalled — no versions left
Now I am confused. Does this mean that I cannot have StatsPlots at all, while I obviously do?
└─Plots [91a5bcdd] log:
├─possible versions are: [0.12.1-0.12.4, 0.13.0-0.13.1, 0.14.0-0.14.2, 0.15.0-0.15.1, 0.16.0, 0.17.0-0.17.4, 0.18.0, 0.19.0-0.19.3, 0.20.0-0.20.6, 0.21.0, 0.22.0-0.22.5, 0.23.0-0.23.2, 0.24.0, 0.25.0-0.25.3, 0.26.0-0.26.3, 0.27.0-0.27.1, 0.28.0-0.28.4, 0.29.0-0.29.9, 1.0.0-1.0.14, 1.1.0-1.1.4, 1.2.0] or uninstalled
├─restricted to versions * by SimulationSupport [14e83994], leaving only versions [0.12.1-0.12.4, 0.13.0-0.13.1, 0.14.0-0.14.2, 0.15.0-0.15.1, 0.16.0, 0.17.0-0.17.4, 0.18.0, 0.19.0-0.19.3, 0.20.0-0.20.6, 0.21.0, 0.22.0-0.22.5, 0.23.0-0.23.2, 0.24.0, 0.25.0-0.25.3, 0.26.0-0.26.3, 0.27.0-0.27.1, 0.28.0-0.28.4, 0.29.0-0.29.9, 1.0.0-1.0.14, 1.1.0-1.1.4, 1.2.0]
Well this seems fine?
│ └─SimulationSupport [14e83994] log:
│ ├─possible versions are: 0.1.0 or uninstalled
│ └─SimulationSupport [14e83994] is fixed to version 0.1.0
└─restricted to versions 1.1 by an explicit requirement, leaving only versions 1.1.0-1.1.4
And version 1.1 is what I want, so why can’t I have it?
I am probably missing something here, but my point is that while the error message is probably very useful, it is not necessarily intuitively so without some kind of instructions.