I`m new to elixir, but I do know erlang. After installing the latest version of elixir 1.8.* when trying to install phoenix I get the following error. If i understand correctly from the documentation it should be >= 1.12 not ~> 1.12.
Not sure if this is a bug. or if this is caused from something on my machine?
mix archive.install hex phx_new
Resolving Hex dependencies...
Dependency resolution completed:
* Getting phx_new (Hex package)
All dependencies are up to date
** (Mix) You're trying to run :phx_new on Elixir v1.8.2 but it has declared in its mix.exs file it supports only Elixir ~> 1.12
~> roughly means “1.x but at least 1.12” here. So you cannot run phx_new as it requires at least Elixir 1.12.
Edit: You can find the description of
~> here: Version — Elixir v1.13.3
But I’m running 1.8.2, which is later than 1.12. I don`t understand the issue?
1.8 is older than 1.12, because 12 is bigger than 8. It’s not 1.1.2, it’s 1.12.x.
1.12.X is newer than 1.8.X.
When in doubt, just use the
Version module to make sure:
iex(1)> Version.compare("1.12.0", "1.8.2")
:gt means “greater”, e.g.
1.12.0 > 1.8.2 in this case.
And to address your original problem:
iex(2)> Version.match?("1.8.2", "~> 1.12.0")