Elixir 1.4.2Erlang/OTP 20v7.10.04.5.0Have tried loading as far back as Phoenix 1.1.6 and as far forward as 1.3.0 from https://github.com/phoenixframework/archives with the usual mix archive.install, and all are giving the same strange behaviour shown below.
From the example listed under mix phoenix.new, creating a project should be as simple as mix phoenix.new hello_world, with the usual options for removing ecto, choosing databases, and the like.
mix phoenix.new hello_world
** (Mix) Application name must start with a letter and have only lowercase letters, numbers and underscore, got: "hello_world". The application name is inferred from the path, if you'd like to explicitly name the application then use the `--app APP` option.
mix phoenix.new hello_world --app hello_world
** (Mix) Application name must start with a letter and have only lowercase letters, numbers and underscore, got: "hello_world"
Obviously those errors don't make any sense, complaining about the format of the project name string when it clearly fits the requirements... have tried various names and they all return this error. After not having luck finding anything about this elsewhere online, I'm hoping someone here might be able to help.
The issue is the unstable Erlang build - you're using OTP 20 release candidate.
You'd need probably to downgrade the erlang version to a stable release or build the phoenix_new archive from source. The incompatibility in OTP 20 is with precompiled archives.
It is unfortunate that Arch Linux is pushing developers to use a release candidate. We already have the fixes in place but we thought we would be able to wait until OTP 20 is actually out for pushing a new release.
It is quite unfortunate... realized just a minute ago that my problem yesterday where Elixir itself wasn't working (that I solved by recompiling the package locally) must be the same issue... appears someone jumped the gun and updated the packages without testing anything.
After first trying to compile Phoenix from source (which seemed to get me everything but the phoenix.new task) I decided to just go about downgrading everything back to what was working last. In case anyone else finds this, under Arch with the downgrade package, the command was downgrade elixir erlang-nox, where I then chose the latest Erlang 19 version and Elixir 1.4.1. This will prevent updates in the future however, so eventually will have to remove the IgnorePkg line in /etc/pacman.conf to update normally. Will revisit this some weeks from now, but everything works for now and that's the important part.
I've been quite happy with Phoenix on the few small side projects I've built -- looking forward to using it on a couple more extensive projects in the near future. Thank you both for the quick help!
@delgrecoj we are planning to release new versions this week. It is just a bit unfortunate because it forces us to move fast when we should be using this time to carefully test the RC. I will reopen the issue for now in case other developers run into this same issue. Thank you!
I was having this issue with other gen commands as well (gen.context). I can only assume the issue comes from these elixir changes for the new version of erlang:
https://github.com/elixir-lang/elixir/issues/5851
Particularly the changes to regex. I'm just not sure what exactly the changes are about
Elixir v1.4.3 is out. If someone can update the registry version on archlinux, please do so.
There was a regression on Elixir v1.4.3. So Elixir v1.4.4 has been released with a fix. If someone can update the registry version on archlinux, please do so.
@delgrecoj we have released new versions of the archive(s) with Erlang 20 support. If you could try things out again on the default arch packages it would be really helpful to verify the fix. Thanks! I'm leaving this open for guidance for a bit longer, but the issue should be fixed on all stable versions as well as the latest 1.3.0-rc.2
@chrismccord after updating and pulling the new Phoenix archive down, I can confirm that everything appears to be working under Arch without issue. Thanks for sorting this out so quickly!
Great! Thanks for verifying <3 <3 <3
@josevalim thanks for reopening this. Just ran into this today
mix hex.info
Hex: 0.16.0
Elixir: 1.4.4
OTP: 20.0
Built with: Elixir 1.4.2 and OTP 18.3.4.4
Have to do it in a docker container for now.
I hit this issue too, but was fixed after upgrading to master.
Is it considered "safe" to use OTP 20 for development?
Is it considered "safe" to use OTP 20 for development?
OTP 20 is a RC, so likely no. Once 20 is out we will release v1.4.6 that should be guaranteed to run without issues.
Alright. I guess archlinux is too aggressive on the update.
I guess archlinux is too aggressive on the update.
Welcome to the archlinux community. Gotta be hip and on the bleeding edge.
I'm also experiencing the same problems on archlinux.
mix hex.info
Hex: 0.16.0
Elixir: 1.4.5
OTP: 20.0
Built with: Elixir 1.4.2 and OTP 18.3.4.4
I had the same issue w/ Homebrew on OS X. This resolved it:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Thanks @mnadel , it works 馃憤
For me, I was on an umbrella and the above didn't work, I had to do this on my mac:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
I got same problem.
But the problem was resolved after updating from elixir 13.4 to 1.5.1
I was hit with similar problem today where mix phoenix.new project_name stopped working for me. This solution suggested by @mnadel fixed the issue. Thank You :)
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Most helpful comment
I had the same issue w/ Homebrew on OS X. This resolved it:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez