Closed ashleysommer closed 2 months ago
Describe the bug IEx Entrypoint Elixir.IEx.CLI start() no longer exists. The start() entrypoint was removed from Elixir v1.15
Elixir.IEx.CLI start()
start()
To Reproduce Steps to reproduce the behavior:
Expected behavior Should run Mix in the IEx interactive Elixir prompt. This works fine in Elixir v1.14.x and below.
Logs
error_info: {error,undef,[{'Elixir.IEx.CLI',start,[],[]},{user_sup,start_user,3,[{file,"user_sup.erl"},{line,102}]},{user_sup,init,1,[{file,"user_sup.erl"},{line,51}]},{supervisor_bridge,init,1,[{file,"supervisor_bridge.erl"},{line,87}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,980}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,935}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,241}]}]}
Desktop:
Erlang:
asdf
Elixir:
Plugin:
Additional context
See these two commits for the changes in v1.15.0 https://github.com/elixir-lang/elixir/commit/e1eecb8ca698712f5cff76f52ff49b381ce64aa9 https://github.com/elixir-lang/elixir/commit/c28b5969efeec5e70150a68170f3ec3f45bcf523
The correct full constructed cmdline to use in v1.15.0 is this:
/path/to/bin/erl -pa ... -s elixir start_cli -noshell -elixir ansi_enabled true -user elixir -extra +iex -e ":elixir.start_iex()" --no-halt -S /path/to/bin/mix
But that doesn't work in v1.15.1+ and v1.16. They introduced yet another mechanism in v1.16 (and v1.15.1+ on the 1.15 branch). https://github.com/elixir-lang/elixir/commit/cc2d05654fc016866a0d3885c5700761024f2724 The correct full cmdline in v1.15.1+ and v1.16.0+ is this:
/path/to/bin/erl -pa ... -s elixir start_iex -noshell -elixir ansi_enabled true -user elixir -extra +iex --no-halt -S /path/to/bin/mix
Confirmed working on 1.14.5 Confirmed broken on 1.15.0 Confirmed broken on 1.15.1 Confirmed broken on 1.16.2
Describe the bug IEx Entrypoint
Elixir.IEx.CLI start()
no longer exists. Thestart()
entrypoint was removed from Elixir v1.15To Reproduce Steps to reproduce the behavior:
Expected behavior Should run Mix in the IEx interactive Elixir prompt. This works fine in Elixir v1.14.x and below.
Logs
Desktop:
Erlang:
asdf
Elixir:
asdf
Plugin:
Additional context
See these two commits for the changes in v1.15.0 https://github.com/elixir-lang/elixir/commit/e1eecb8ca698712f5cff76f52ff49b381ce64aa9 https://github.com/elixir-lang/elixir/commit/c28b5969efeec5e70150a68170f3ec3f45bcf523
The correct full constructed cmdline to use in v1.15.0 is this:
But that doesn't work in v1.15.1+ and v1.16. They introduced yet another mechanism in v1.16 (and v1.15.1+ on the 1.15 branch). https://github.com/elixir-lang/elixir/commit/cc2d05654fc016866a0d3885c5700761024f2724 The correct full cmdline in v1.15.1+ and v1.16.0+ is this: