heroku-buildpack-elixir
heroku-buildpack-elixir copied to clipboard
module Mix is not available
I'm trying to deploy a Phoenix application to heroku. I'm using master for Erlang and v1.0.0 for elixir. I get (UndefinedFunctionError) undefined function: Mix.start/0 (module Mix is not available) whenever mix is called.
I have this Procfile web: elixir -pa _build/prod/consolidated -S mix phoenix.start
I tried with web: mix phoenix.start and with the one recommended for cowboy in the README but it's the same.
$ git push heroku master
Fetching repository, done.
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 331 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
-----> Fetching custom git buildpack... done
-----> Elixir app detected
-----> Using Erlang/OTP master
-------> Fetching Erlang/OTP master
-------> Unpacking Erlang/OTP master
-------> Installing Erlang/OTP master
-----> Installing Rebar from buildpack
-----> Using Elixir v1.0.0
-------> Fetching Elixir v1.0.0
-------> Unpacking Elixir v1.0.0
-------> Installing Elixir v1.0.0
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
make: *** [lib/elixir/ebin/Elixir.Kernel.beam] Error 1
-----> Building with Mix
-----> Bundling dependencies
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
** (UndefinedFunctionError) undefined function: Mix.start/0 (module Mix is not available)
Mix.start()
/app/ex/bin/mix:3: (file)
(elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/3
lib/code.ex:316: Code.require_file/2
-----> Compiling app
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
** (UndefinedFunctionError) undefined function: Mix.start/0 (module Mix is not available)
Mix.start()
/app/ex/bin/mix:3: (file)
(elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/3
lib/code.ex:316: Code.require_file/2
-----> Discovering process types
Procfile declares types -> web
-----> Compressing... done, 47.2MB
-----> Launching... done, v10
http://powerful-eyrie-3026.herokuapp.com/ deployed to Heroku
To [email protected]:powerful-eyrie-3026.git
3bd402c..0323818 master -> master
By the way, do I have to worry about those warnings about heroku being latin1 or the app is going to work anyway?
I've got the same issue here. Any fixes in the meantime?
Using this buildpack removed the utf-8 and mix errors for me: https://github.com/HashNuke/heroku-buildpack-elixir
Had a problem with Phoenix requiring Elixir 1.0.1, fixed here: https://github.com/dominikb1888/heroku-buildpack-elixir