Can't create a Phoenix project

Environment

  • Elixir version using asdf: 1.14.0-otp-25, 1.15.0-otp-25, 1.15.5-otp-25
  • Elixir version using brew: 1.15.5, otp 26
  • Operating system: mac os 13.5.1

mix hex.info:

Hex:    2.0.6
Elixir: 1.15.5
OTP:    26.0.2

Built with: Elixir 1.14.2 and OTP 23.3

Actual behavior

Changing to different Elixir versions didn’t help when installing the framework.

What I did:

  1. asdf install elixir 1.15.5-otp-25
  2. asdf global elixir 1.15.5-otp-25
  3. mix local.hex --force
  4. mix archive.install hex phx_new

then removed everything with asdf and used brew instead.

both approaches returned the same error:

Resolving Hex dependencies...
** (MatchError) no match of right hand side value: :error
    (hex 2.0.6) lib/hex/solver/package_lister.ex:47: anonymous fn/4 in Hex.Solver.PackageLister.dependencies_as_incompatibilities/4
    (elixir 1.15.5) lib/enum.ex:1693: Enum."-map/2-lists^map/1-1-"/2
    (hex 2.0.6) lib/hex/solver/package_lister.ex:46: Hex.Solver.PackageLister.dependencies_as_incompatibilities/4
    (hex 2.0.6) lib/hex/solver/solver.ex:123: Hex.Solver.Solver.choose_package_version/1
    (hex 2.0.6) lib/hex/solver/solver.ex:25: Hex.Solver.Solver.solve/2
    (hex 2.0.6) lib/hex/solver.ex:53: Hex.Solver.run/5
    (hex 2.0.6) lib/hex/remote_converger.ex:114: Hex.RemoteConverger.run_solver/5
    (mix 1.15.5) lib/mix/dep/converger.ex:141: Mix.Dep.Converger.all/4

I even uninstalled it (mix archive.uninstall phx.new) then doing all the steps again, but still the same error throws up.

Expected behavior

Following the guide from hexdocs (phx v1.7.7) there shouldn’t be any issues at all when installing Phoenix framework.

I think I fixed the problem. So reading from the error message there’s a portion where it’s pointing with hex deps resolver:

(hex 2.0.6) lib/hex/solver/package_lister.ex:47: anonymous fn/4 in Hex.Solver.PackageLister.dependencies_as_incompatibilities/4

I think my .hex is somehow broken (can’t prove), so what I did:

  1. removed .hex and .mix folder
  2. mix local.hex && mix archive.install hex phx_new
  3. running mix phx.new sample_app went fine.
2 Likes