Guide · Open source
How to use Phoenix: install, build from source and get started
Updated · written with AI from the project's own documentation and checked against our catalogue data
Phoenix is an open-source web framework written in Elixir, a language that runs on the Erlang virtual machine. It provides the building blocks for web applications and APIs, and it is aimed at developers who already use Elixir or want to learn it. This guide explains what you need, how to fetch and compile the Phoenix source, where the official documentation lives, and how to create a new project from unreleased code.
Quick start
- 1Check prerequisites. Install Elixir and Mix. Confirm versions against the official installation docs, since the README does not list them.
- 2Clone the repository. Run git clone https://github.com/phoenixframework/phoenix to get the source.
- 3Fetch dependencies. Run mix deps.get inside the phoenix directory to download what the build needs.
- 4Compile. Run mix compile to build Phoenix from source.
- 5Read the docs. Follow the hexdocs installation page and the API documentation at phoenix.hexdocs.pm.
- 6Generate a project (optional). Use the installer with mix phx.new and the --dev flag as described in the README.
What Phoenix is and who it suits
Phoenix is a web framework for Elixir. The project describes itself as offering peace of mind from prototype to production. Its README points to the official site and to hexdocs for detailed documentation, so most day-to-day learning happens there rather than in the repository itself.
Phoenix is a good fit for developers who already use Elixir or want to learn it, and for teams building web applications or API servers in Elixir. Repository topics also mention realtime features. It is not a fit for people who do not want to learn Elixir, because the framework requires it, or for anyone looking for a no-code or low-code tool.
What you need before you start
You need Elixir and Mix installed. The README links to installation documentation but does not list specific versions, so check the official docs for the requirements that apply to the release you want.
The README does not describe any other system requirements.
- Elixir
- Mix (the build tool that ships with Elixir)
Install Phoenix from the official instructions
The README says to install the latest version of Phoenix by following the instructions at the hexdocs installation page. Use that page as the authoritative source for installing the framework and its project generator.
The official site is at https://www.phoenixframework.org.
Build Phoenix from source
If you want to build the framework from the repository, clone it, fetch its dependencies, and compile. These are the commands the README gives for building Phoenix itself.
The README also lists separate build steps for the documentation, the installer and Phoenix.js. Those are documented in the README under Building from source.
git clone https://github.com/phoenixframework/phoenix
cd phoenix
mix deps.get
mix compileCreate a project from unreleased source
To generate a new project from the latest source installer, first remove any previously installed phx_new archives so Mix uses the local code. You can run mix archive.uninstall phx_new, or delete the archive file, which is usually in ~/.mix/archives/.
Then run the phx.new Mix task from inside the installer directory. The --dev flag makes your new project's :phoenix dependency a relative path dependency pointing at your local checkout.
- Remove old phx_new archives so Mix picks up local source.
- Clone the repository or download it.
- Run the phx.new task from the installer directory.
cd phoenix/installer
mix phx.new dev_app --devWhere to get help and read more
API documentation is at https://phoenix.hexdocs.pm, and Phoenix.js documentation is at https://phoenix.hexdocs.pm/js. Questions and proposals go to the Phoenix Forum, and the issue tracker is on GitHub. The README also lists the #elixir IRC channel on Libera and the elixir-lang Slack channel.
Contributions are welcome. Read CODE_OF_CONDUCT.md and CONTRIBUTING.md in the repository first.
What people use it for
- Building a web application in Elixir on top of Phoenix
- Creating an API server in Elixir
- Exploring realtime features, as suggested by the repository topics
- Building the framework locally to contribute or test changes
Frequently asked questions
Is Phoenix free to use?
Yes. Phoenix is licensed under the MIT License, as stated in the README and LICENSE.md. The README does not list any paid tiers.
What do I need to install Phoenix?
You need Elixir and Mix. The README links to installation docs but does not list version requirements, so check the official docs for those.
How do I install Phoenix?
The README directs you to the installation instructions at phoenix.hexdocs.pm/installation.html. To build from source, clone the repository and run mix deps.get and mix compile.
Do I need to know Elixir to use Phoenix?
Yes. Phoenix is written in and requires Elixir, so it is not suited to people who do not want to learn the language.
Where can I get help with Phoenix?
The README lists the Phoenix Forum for questions and proposals, the issue tracker on GitHub, the #elixir channel on Libera IRC, and the elixir-lang Slack channel.
How does Phoenix compare to other frameworks?
The source does not compare Phoenix with other projects, and the repository lists no comparable projects. The README also does not compare ecosystem size, so check that yourself if you need a large library selection.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Phoenix suits developers who already use Elixir or are willing to learn it, especially for web apps, API servers and realtime features, and it is MIT-licensed. If you want a no-code tool, or need a language with a larger ready-made library ecosystem, pick something else.
Install options & downloads