Happening soon: ElixirConf (9–11 September 2026). Get your ticket here!

Install Elixir

The fastest way to install Elixir is via install scripts, your operating system's package manager, or dedicated installers. If those aren't viable options, we recommend using precompiled packages or compiling the language from source yourself. All of these installation methods are explained in detail below.

Install by Operating System

Install Elixir according to your operating system and tool of choice.

macOS

GNU/Linux

Below we list steps for installing Elixir in different distributions. If your distribution is not listed or the steps below do not work, you may consider using version managers.

Distributions

  • Arch Linux (Community repository) Run: pacman -S elixir
  • Fedora
    Rawhide keeps more recent versions: sudo dnf --repo=rawhide install elixir elixir-doc erlang erlang-doc The default distribution lags behind: sudo dnf install elixir erlang Documentation packages: sudo dnf install elixir-doc erlang-doc
  • Gentoo Run: emerge --ask dev-lang/elixir
  • GNU Guix Run: guix package -i elixir
  • Ubuntu
    Using install scripts

    The packages in apt tend to lag several versions behind. You may use RabbitMQ Packages, which are likely newer than apt: sudo add-apt-repository ppa:rabbitmq/rabbitmq-erlang sudo apt update sudo apt install git elixir erlang

BSD

  • FreeBSD

    The latest Elixir release is named lang/elixir-devel. The default Elixir, lang/elixir, may lag slightly as dependent ports are often not able to be updated to the newest Elixir release immediately.

    Using ports Run: cd /usr/ports/lang/elixir && make install clean
    Using pkg Run: pkg install elixir or pkg install elixir-devel
  • OpenBSD Run: pkg_add elixir

Windows

Raspberry Pi and embedded devices

To build and package an Elixir application, with the whole operating system, and burn that into a disk or deploy it elsewhere, check out the Nerves project.

If you want to install Elixir as part of an existing Operating System, please follow the relevant steps above for your Operating System or install from precompiled/source.

Docker

If you are familiar with Docker you can use the official Docker image to get started quickly with Elixir.

  • Enter interactive mode Run: docker run -it --rm elixir
  • Enter bash within container with installed elixir Run: docker run -it --rm elixir bash

The above will automatically point to the latest Erlang and Elixir available. For production usage, we recommend using Hex.pm Docker images, which are immutable and point to a specific Erlang and Elixir version.

Install Scripts

Elixir and Erlang/OTP can be quickly installed for macOS, Windows, or Ubuntu using an install.sh / install.bat script.

If you are using bash (macOS / Ubuntu / Windows), run:

curl -fsSO https://elixir-lang.org/install.sh
sh install.sh elixir@1.20.2 otp@28.4
installs_dir=$HOME/.elixir-install/installs
export PATH=$installs_dir/otp/28.4/bin:$PATH
export PATH=$installs_dir/elixir/1.20.2-otp-28/bin:$PATH
iex

If you are using PowerShell (Windows), run:

curl.exe -fsSO https://elixir-lang.org/install.bat
.\install.bat elixir@1.20.2 otp@28.4
$installs_dir = "$env:USERPROFILE\.elixir-install\installs"
$env:PATH = "$installs_dir\otp\28.4\bin;$env:PATH"
$env:PATH = "$installs_dir\elixir\1.20.2-otp-28\bin;$env:PATH"
iex.bat

You may want to set the $PATH environment variable for your whole system. Use install.sh --help or install.bat --help to learn more about available arguments and options.

Version Managers

There are many tools that allow developers to install and manage multiple Erlang and Elixir versions. They are useful if you have multiple projects running on different Elixir or Erlang versions, can't install Erlang or Elixir as mentioned above, or if the version provided by your package manager is outdated. Here are some of those tools:

  • asdf - install and manage different Elixir and Erlang versions
  • mise - install and manage different Elixir and Erlang versions
  • kerl - install and manage different Erlang versions

Keep in mind that each Elixir version supports specific Erlang/OTP versions. See the supported versions alongside our docs.

Precompiled Packages

Elixir provides a precompiled package for every release. First install Erlang and then download the appropriate precompiled Elixir below. You can consult your Erlang/OTP version by running erl -s halt:

Once you download the release, unpack it, and you are ready to run the elixir and iex commands from the bin directory. However, we recommend you to add Elixir's bin path to your PATH environment variable to ease development.

Mirrors and nightly builds

The links above point directly to the GitHub release. We also host and mirror precompiled packages and nightly builds globally via builds.hex.pm using the following URL scheme:

https://builds.hex.pm/builds/elixir/${ELIXIR_VERSION}-otp-${OTP_VERSION}.zip

For example, to use Elixir v1.13.3 with Erlang/OTP 24.x, use:

https://builds.hex.pm/builds/elixir/v1.13.3-otp-24.zip

To use nightly for a given Erlang/OTP version (such as 25), use:

https://builds.hex.pm/builds/elixir/main-otp-25.zip

For a list of all builds, use:

https://builds.hex.pm/builds/elixir/builds.txt

Compiling from source

You can download and compile Elixir in a few steps. The first one is to install Erlang. You will also need make available.

Next download the source code ( .zip, .tar.gz ) of the latest release, unpack it and then run make inside the unpacked directory. If you are running on Windows, read this page on setting up your environment for compiling Elixir.

After compiling, you are ready to run the elixir and iex commands from the bin directory. We recommend you to add Elixir's bin path to your PATH environment variable to ease development.

In case you are feeling a bit more adventurous, you can also compile from main:

git clone https://github.com/elixir-lang/elixir.git
cd elixir
make clean compile

Install Erlang

The only prerequisite for Elixir is Erlang, version 27.0 or later. When installing Elixir, Erlang is generally installed automatically for you. However, if you want to install Erlang manually, you might check:

After Erlang is installed, you should be able to open up the command line (or command prompt) and check the Erlang version by typing erl -s erlang halt. You will see some information similar to:

Erlang/OTP 27.0 [64-bit] [smp:2:2] [...]

Notice that depending on how you installed Erlang, Erlang binaries might not be available in your PATH. Be sure to have Erlang binaries in your PATH, otherwise Elixir won't work!

Set the PATH Environment Variable

It is highly recommended to add Elixir's bin path to your PATH environment variable to ease development.

On Windows, there are instructions for different versions explaining the process.

On Unix systems, you need to find your shell profile file, and then add to the end of this file the following line reflecting the path to your Elixir installation:

export PATH="$PATH:/path/to/elixir/bin"

Ask Questions

After Elixir is up and running, it is common to have questions as you learn and use the language. There are many places where you can ask questions, here are some of them:

When asking questions, remember these two tips:

  • Instead of asking "how to do X in Elixir", ask "how to solve Y in Elixir". In other words, don't ask how to implement a particular solution, instead describe the problem at hand. Stating the problem gives more context and less bias for a correct answer.
  • In case things are not working as expected, please include as much information as you can in your report - for example, your Elixir version, the code snippet, and the error message alongside the error stacktrace.

Enjoy!