Hmmm
In fail case:
iex(2)> Application.started_applications()
[
{:myapp, [], []},
{:hex, ~c"hex", ~c"2.2.2"},
{:inets, ~c"INETS CXC 138 49", ~c"9.4.2"},
{:ssl, ~c"Erlang/OTP SSL application", ~c"11.4"},
{:public_key, ~c"Public key infrastructure", ~c"1.18.3"},
{:asn1, ~c"The Erlang ASN1 compiler version 5.4.2", ~c"5.4.2"},
{:crypto, ~c"CRYPTO", ~c"5.7"},
{:mix, ~c"mix", ~c"1.18.4"},
{:iex, ~c"iex", ~c"1.18.4"},
{:elixir, ~c"elixir", ~c"1.18.4"},
{:compiler, ~c"ERTS CXC 138 10", ~c"9.0.2"},
{:stdlib, ~c"ERTS CXC 138 10", ~c"7.1"},
{:kernel, ~c"ERTS CXC 138 10", ~c"10.4"}
]
iex(4)> Application.ensure_started(:phoenix_live_reload)
{:error, {:not_started, :logger}}
iex(5)> Application.ensure_started(:logger)
:ok
iex(6)> Application.ensure_started(:phoenix_live_reload)
{:error, {:not_started, :phoenix}}
iex(7)> Application.ensure_started(:phoenix)
{:error, {:not_started, :eex}}
iex(8)> Application.ensure_started(:eex)
:ok
iex(9)> Application.ensure_started(:phoenix)
{:error, {:not_started, :plug}}
iex(10)> Application.ensure_started(:plug)
{:error, {:not_started, :mime}}
iex(11)> Application.ensure_started(:mime)
:ok
iex(12)> Application.ensure_started(:plug)
{:error, {:not_started, :plug_crypto}}
iex(13)> Application.ensure_started(:plug_crypto)
:ok
iex(14)> Application.ensure_started(:plug)
{:error, {:not_started, :telemetry}}
iex(15)> Application.ensure_started(:telemetry)
:ok
iex(16)> Application.ensure_started(:plug)
:ok
iex(17)> Application.ensure_started(:phoenix)
{:error, {:not_started, :phoenix_pubsub}}
iex(18)> Application.ensure_started(:phoenix_pubsub)
:ok
iex(19)> Application.ensure_started(:phoenix)
{:error, {:not_started, :phoenix_template}}
iex(20)> Application.ensure_started(:phoenix_templete)
{:error, {~c"no such file or directory", ~c"phoenix_templete.app"}}
Update: in the end I was able to start them all and made sure that the file is there. So I do not know if this is related (or if I’m doing it correctly anyway).