Creating an Elixir project and running code is straightforward thanks to good conventions and solid tooling. It’s impressive when you consider what’s going on under the hood: compiling Elixir files into byte code that is then run on an instance of the 20-year-old, battle-proven Erlang VM.
In this video from our Developing With Elixir/OTP course, we walk through creating a mix project and the various ways to run Elixir files:
Here’s a quick recap of the commands we used in the video to run an Elixir file:
elixircommand with the relative path of the Elixir file:
The file gets compiled into bytecode (in memory) and then run on an Erlang virtual machine.
Fire up an
iex(Interactive Elixir) session and then use the
chelper function to compile and run the file:
iex iex> c "lib/servy.ex"
chelper function compiles the given file in memory, the module (
Servyin this case) is loaded into the session, and any code outside of the module is interpreted.
To exit the
Alternatively, you can tell
iexto interpret an Elixir file while starting by passing the relative path of the file:
When you start a standard
iexsession, it doesn’t know about the paths and dependencies of a
mixproject. So to start a session in the context of a project, you need to pass the
iex -S mix
Finally, to recompile a module while in
iex, use the
iex> r Servy
This recompiles and reloads the given module, which is
Servyin this case.
Build a complete Elixir/OTP app from scratch!
Put Elixir and OTP into action as you build a concurrent, fault-tolerant application from scratch in our 6.5-hour Developing With Elixir/OTP video course. By developing a real app with real code, you'll gain practical experience putting all the pieces together to craft applications the Elixir/OTP way.