Failed to start Phoenix App after Elixir 1.3.0 upgrade

Hi,

I have a Phoenix app running fine with Elixir 1.2.x. Upgraded to Elixir 1.3.0 this morning and now failed to compile and run the app :frowning: I tried reps.clean and that didn’t help.

fchan$  mix deps.clean --all && mix deps.update —all
<< All the output from deps.clean and deps.update>>
chan:gauge fchan$ mix phoenix.server
==> fs (compile)
Compiled src/sys/fsevents.erl
Compiled src/sys/inotifywait_win32.erl
Compiled src/sys/inotifywait.erl
Compiled src/fs_event_bridge.erl
Compiled src/fs_sup.erl
Compiled src/fs_app.erl
Compiled src/fs_server.erl
Compiled src/fs.erl
==> gettext
Compiling 1 file (.yrl)
Compiling 1 file (.erl)
Compiling 19 files (.ex)
Generated gettext app
===> Compiling cf
===> Package not found in registry: cf-0.2.1. Try to fix with `rebar3 update`
==> gauge
** (Mix) Could not compile dependency :erlware_commons, "/Users/fchan/.mix/rebar3 bare compile --paths         "/Users/fchan/chaos/gauge/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix     deps.compile erlware_commons", update it with "mix deps.update erlware_commons" or clean it with "mix deps.clean     erlware_commons"
fchan:gauge fchan$

My Erlang, Elixir and Phoenix version

fchan:gauge fchan$ mix phoenix.new -v
Phoenix v1.1.4
fchan:gauge fchan$ mix --version
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Mix 1.3.0
fchan:gauge fchan$

Still pretty new to Elixir, Phoenix and Erlang and help is much appreciated.

Thanks

1 Like

Did you try to fix with rebar3 update ?

1 Like

thanks for your reply.

Still pretty new to Elixir and Erlang, do I need to install rebar3? or it’s like a task that can be executed with mix ?

1 Like

Try this

$ mix local.rebar
$ rm -rf deps
$ rm -rf _build
$ mix deps.get

I’m just trying to think something :wink: If you can, could you maybe post your app so we can try to debug it locally? I’m not an expert myself though :wink: Cf is on hex https://hex.pm/packages/cf so it should be downloaded by mix without problems :confused:

4 Likes

This works

fchan:gauge fchan$ mix local.rebar
/Users/fchan/.mix/rebar already exists, overwrite? [Yn] Y
* creating /Users/fchan/.mix/rebar
/Users/fchan/.mix/rebar3 already exists, overwrite? [Yn] Y
* creating /Users/fchan/.mix/rebar3
fchan:gauge fchan$ mix phoenix.server

Thanks a lot for your help :slight_smile:

Can someone shed some light what happened? I’m guessing mix local.rebar force update on Erlang related dependency and hence trigger an upgrade and solve the issue?

1 Like

Don’t ask me what happen, my Google Fu is simply strong :wink: I hope someone will shed more light on that :smiley:

1 Like

Try to upgrade your phoenix app to 1.1.6. Also take a look at this thread.

2 Likes

You probably hit some bug in rebar. When you run mix local.rebar you will update to the latest version of rebar that the elixir team has published.

1 Like