heroku-buildpack-elixir icon indicating copy to clipboard operation
heroku-buildpack-elixir copied to clipboard

module Mix is not available

Open pmontrasio opened this issue 11 years ago • 3 comments
trafficstars

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?

pmontrasio avatar Sep 24 '14 09:09 pmontrasio

I've got the same issue here. Any fixes in the meantime?

dominikb1888 avatar Oct 26 '14 07:10 dominikb1888

Using this buildpack removed the utf-8 and mix errors for me: https://github.com/HashNuke/heroku-buildpack-elixir

dominikb1888 avatar Oct 26 '14 08:10 dominikb1888

Had a problem with Phoenix requiring Elixir 1.0.1, fixed here: https://github.com/dominikb1888/heroku-buildpack-elixir

dominikb1888 avatar Oct 26 '14 09:10 dominikb1888