# Taking Another Look at Phoenix and Elixir - Part 1 - Upgrading

DevFeed: [Taking Another Look at Phoenix and Elixir - Part 1 - Upgrading](<https://devfeed.tech/articles/taking-another-look-at-phoenix-and-elixir-part-1-upgrading-28161.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/elixir/2020/09/15/taking-another-look-at-phoenix-and-elixir-part-1-upgrading.html>)

Author: Fuzzygroup

Published: 2020-09-15T14:23:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [phoenix](<https://devfeed.tech/topics/phoenix.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Erlang](<https://devfeed.tech/topics/erlang.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [elixir](<https://devfeed.tech/tags/elixir.md>), [erlang](<https://devfeed.tech/tags/erlang.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [phoenix](<https://devfeed.tech/tags/phoenix.md>), [rails](<https://devfeed.tech/tags/rails.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

## AI overview

A practical guide to upgrading Elixir, Erlang/OTP, Mix, Hex, and Phoenix, then creating a sample Phoenix application and preparing to compare it with an existing Rails codebase.

## Source excerpt

I've been on the fence about Phoenix and Elixir for a while and I thought I'd take at least a quick dive. I've had a development system for Phoenix and Elixir since at least 2016 but I haven't done much. This means that the first task is bringing it into the 2020s. Upgrading Elixir I installed Elixir via HomeBrew which means it is a simple: which elixir /usr/local/bin/elixir Note: It can be hard sometimes to know if you installed things via HomeBrew and checking their location is an easy cheap as HomeBrew installs stuff to /usr/local/bin And then: brew upgrade elixir And then: elixir --version Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] [dtrace] Elixir 1.10.4 (compiled with Erlang/OTP 23) You can also use just -v: elixir -v Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] [dtrace] Elixir 1.10.4 (compiled with Erlang/OTP 23) Upgrading Mix and Hex Mix and Hex give the equivalent of a build tool (like Rake from the Rails world) and a Package Manager (like Gem / Bundler). To upgrade mix, you use: mix local.hex Found existing entry: /Users/sjohnson/.mix/archives/hex-0.20.5 Are you sure you want to replace it with "https://repo.hex.pm/installs/1.10.0/hex-0.20.5.ez"? [Yn] Y * creating /Users/sjohnson/.mix/archives/hex-0.20.5 And that will upgrade both mix and hex. Upgrading Phoenix The phoenix framework version I have dates back to 1.2 or 1.3 I think. The first step is to figure out what version I have: mix phoenix.new --version Phoenix v1.3.3 The method to upgrade the Phoenix framework itself is: mix archive.install hex phx_new 1.5.4 I used a google query to discover that the current Phoenix framework version was 1.5.4. The other way to find this version number is to go to this url: https://hexdocs.pm/phoenix/installation.html And then look at the drop down of different versions in the left hand sidebar. The latest version is always at the top. Creating a Sample App My fir