Elixir version in mix project

In mix projects there is the option to configure the required elixir version:

def project do
      elixir: "~> 1.7"

I could not find any docs about it, so I’m wondering - what exactly does this option do? Does it only say that the app can run with 1.7 and above, or it has any other effect? For example behaves differently during compilation, shows different deprecation warnings, etc?

mix will raise a warning (or was it an error?) during compilation if the elixir version doesn’t match.

1 Like

Yes, this is clear.

What I meant was, if I have Elixir 1.9 on the machine, does it make any difference if the mix project is configured with “~> 1.7”, or “~> 1.9”.

No, its really only for the warning/error when using a “wrong” version.


In your example you’ll get a warning if you use Elixir 1.6 or less.

Well, an imaginary 2.0 and newer will probably also cause a warning.

Elixir 2.0 confirmed! :smiley: