3
votes

According to documentation, running mix local.phx should upgrade the phoenix project generator. Instead, it downgrades it. Is this expected behavior? Why?

$ mix phx.new -v                 
Phoenix v1.4.8

$ mix local.phx                  
Found existing entry: /home/me/.mix/archives/phx_new-1.4.8
Are you sure you want to replace it with "https://github.com/phoenixframework/archives/raw/master/phx_new.ez"? [Yn]  
* creating /home/me/.mix/archives/phx_new

$ mix phx.new -v
Phoenix v1.3.4
1

1 Answers

3
votes

It seems that although the latest release at the time of writing is the version you linked to, 1.4.8, the last phx_new archive assesible by local.phx was produced for 1.3.4. However, there is a closed bug report on the archive repository with a comment saying that mix local.phx should no longer be used, and that the correct way is to install it from hex, where 1.4.8 is available:

mix archive.install hex phx_new

I submitted a pull request to fix this, which has been merged and also back-ported to 1.4, so local.phx should use hex by default from the next release (probably version 1.4.9). It will still be necessary to call the above command manually if you're using a pre-1.4.9 version that doesn't include the fix. I added a note to the docs to explain this, which was backported to 1.4 but later removed from master, so I guess this answer will have to suffice after version 1.5 😊

Note that the phoenix installation guide doesn't mention local.phx and correctly introduces the archive.install hex phx_new mix task above.