Hello!
This
mix help
gives me a strange error on Arch:x86_64 with Elixir 1.4.2 :
** (Version.InvalidRequirementError) ~> 1.0
(elixir) lib/version.ex:159: Version.match?/3
(mix) lib/mix/local.ex:100: Mix.Local.check_elixir_version_in_ebin/1
(elixir) lib/enum.ex:645: Enum."-each/2-lists^foreach/1-0-"/2
(elixir) lib/enum.ex:645: Enum.each/2
(mix) lib/mix/local.ex:50: Mix.Local.append_archives/0
(mix) lib/mix/cli.ex:8: Mix.CLI.main/1
Tried to reinstall elixir and erlang packages, but have no luck.
What I’m doing wrong?
1 Like
That looks like there is an issue in your mix.exs file, what is its contents?
flomop
May 12, 2017, 10:19pm
3
This error is not depends on mix.exs.
I have it in any of my elixir projects, and even then I make a new one:
mix new test
** (Version.InvalidRequirementError) ~> 1.0
(elixir) lib/version.ex:159: Version.match?/3
(mix) lib/mix/local.ex:100: Mix.Local.check_elixir_version_in_ebin/1
(elixir) lib/enum.ex:645: Enum."-each/2-lists^foreach/1-0-"/2
(elixir) lib/enum.ex:645: Enum.each/2
(mix) lib/mix/local.ex:50: Mix.Local.append_archives/0
(mix) lib/mix/cli.ex:8: Mix.CLI.main/1
What is your erlang version?
If you’re on OTP 20 release candidate, you’ll probably need elixir master - there’s an incompatibility with precompiled modules that contain regular expressions.
flomop
May 12, 2017, 10:56pm
5
I’m currently using elixir-1.4.2-1 and erlang-nox-20.0rc-1 Arch packages.
So… do I have to install elixir 1.5-dev ?
I’m not 100% sure. There’s no official support for OTP 20 in elixir yet. You’re exploring uncharted waters.
flomop
May 12, 2017, 11:35pm
7
You where right. It’s because of erlang 20.0rc-1 version.
I downgraded erlang-nox package with AUR downgrade utility to erlang-nox-19.3-3 version and it works as expected.
1 Like
I also noted that pacman has erlang 20rc version. Thanks for the hint about downgrade.
How did you find your erlang version?
How can I downgrade to erlang-nox-19.3-3?
Or how can I get the master branch of Elixir? I’m on arch linux.
@nezzart like @flomop told, use the AUR downgrade package.
I’m wondering if packaging erlang 20.0rc should be considered a bug?
How did I find my erlang version?
How did I find my erlang version?
Ivs5th
May 14, 2017, 7:21pm
13
yaourt -S downgrade
then
downgrade erlang
Why is a non-release version of an in-development erlang being packaged in a release repository?!
flomop
May 15, 2017, 7:47pm
16
Also, I noticed that against erlang-nox-19.3.3-x86_64 (or erlang-19.3.3-x86_64 ) you should use elixir-1.4.2-1-any package. If I’m using elixir 1.4.2-2 with erlang-19.3.3 , I’m getting error while launching iex (with no problem to launch erl ).
So, do:
yaourt -S downgrade
downgrade erlang
or
downgrade erlang-nox
select version erlang(-nox)-19.3.3-x86_64 .
downgrade elixir
select version elixir-1.4.2-1-any .
Elixir v1.4.4 has been released with support for Erlang 20.
4 Likes
flomop
May 15, 2017, 9:22pm
18
And, a few hours ago they commited elixir-1.4.4-1 to ARCH community repo. So everything should work as expected from now on.
Actually, the problem persists and is in parsing versions:
Version.Parser.parse_requirement("~> 1.0")
:error
On Erlang OTP 20.0.1 and Elixir 1.5.0-dev.