Phoenix installation elixir 1.8

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:
New:
  phx_new 1.6.6
* 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
1 Like

~> 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

2 Likes

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.

2 Likes

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

: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")
false
1 Like