I was updating my Rustler from 0.25 to 0.27, and when I ran mix deps.get, I got the following message which i’ve not seen before. Usually when there’s a dependency mismatch, it’ll state which packages are clashing and over what version they disagree. But this doesn’t have any of that info. I tried removing my mix.lock, and runnning mix deps.clean. If I remove rustler entirely from my mix.exs then it’ll run, and if my rustler is 0.25 it’ll run, but when I set it to 0.27 it fails.
Mix.ex
...
{:rustler, "~> 0.27.0"},
...
$ mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.03s
Because your app depends on rustler empty which doesn't match any versions, version solving failed.
** (Mix) Hex dependency resolution failed
I can’t add the bold and code formatting, but the error message appears like this: “Because your app depends on rustler empty which doesn’t match any versions, version solving failed.”
EDIT:
It also happens if I try to change {:httpoison, "~> 1.0"}, to {:httpoison, "~> 2.0"},
Because your app depends on httpoison empty which doesn’t match any versions, version solving failed.
Also, your app here is verbatim, not something i’ve replaced to generalize it.
One possible solution is to run mix deps.clean rustler or mix deps.clean httpoison to remove any existing build artifacts, then run mix deps.get again to fetch the latest compatible versions of the packages.
10:55:58 <josevalim> serafeim: i know what is happening. the scrivener_html does not allow phoenix 1.7. so there is an error but the error message is unclear
So I guess there are conflicting package requirements (some other package doesn’t allow that version of rustler or httpoison), but the error message is bugged.