Description
Describe the bug
Elixir and erlang installed via asdf. When running a test, an error appears as follows:
/Users/matthewgibson/.asdf/installs/erlang/23.2.4/bin/erl -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/compiler-7.6.6/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/megaco-3.19.5/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/diameter-2.2.3/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/erl_docgen-1.0.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/tftp-1.0.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/hipe-4.0.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/public_key-1.9.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/inets-7.3.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/kernel-7.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/mnesia-4.18.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/xmerl-1.3.26/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/tools-3.4.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/ssl-10.2.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/crypto-4.8.3/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/edoc-0.12/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/ftp-1.0.5/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/ssh-4.10.7/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/snmp-5.7.3/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/common_test-1.19.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/eunit-2.6/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/parsetools-2.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/odbc-2.13.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/erts-11.1.7/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/et-1.6.4/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/os_mon-2.6.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/debugger-5.0/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/erl_interface-4.0.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/reltool-0.8/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/eldap-1.2.8/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/sasl-4.0.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/wx-1.9.2/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/asn1-5.0.14/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/stdlib-3.14/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/syntax_tools-2.4/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/dialyzer-4.3/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/runtime_tools-1.15.1/ebin -pa /Users/matthewgibson/.asdf/installs/erlang/23.2.4/lib/observer-2.9.5/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/logger/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/elixir/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/ex_unit/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/mix/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/eex/ebin -pa /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/lib/iex/ebin -noshell -s elixir start_cli -elixir ansi_enabled true -extra -r /private/var/folders/k4/pvs3r_sx7bs89hnb061pndz00000gn/T/intellij_elixir8/exunit/1.6.0/team_city_ex_unit_formatting.ex -r /private/var/folders/k4/pvs3r_sx7bs89hnb061pndz00000gn/T/intellij_elixir8/exunit/1.6.0/team_city_ex_unit_formatter.ex /Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/bin/mix test --formatter TeamCityExUnitFormatter test/vistalink_web/controllers/webhooks_controller_test.exs:30
Testing started at 19:01 ...
==> ordinal
Compiling 1 file (.ex)
Generated ordinal app
==> vistalink
Could not find "rebar3", which is needed to build dependency :yamerl
I can install a local copy which is just used by Mix
Shall I install rebar3? (if running non-interactively, use "mix local.rebar --force") [Yn]
To Reproduce
Steps to reproduce the behavior:
- Install elixir and erlang via asdf and configure them as SDKs (erlang intellij plugin not present)
- Get a basic Phoenix project set up with a runnable exunit test. Not yet compiled, but with a dependency that needs compiling via rebar present.
- Import it via "New project from existing sources" as per the plugin README via the mix config
- Right click on the first line of the
test
block in the test file and chooseRun...
- See the error output above
Expected behavior
The test should run by first finding rebar3 and doing the compilation, which works fine on the command line.
If I take the command that intellij is using above and delete most of it, ending up with this:
/Users/matthewgibson/.asdf/installs/elixir/1.11.3-otp-23/bin/mix test test/vistalink_web/controllers/webhooks_controller_test.exs:30
Then it works from the command line. Asdf versions are set to the same on the command line as in the SDK.
Once the compilation has happened on the command line, re-running the configuration in IntelliJ works fine. If I delete /_build/test
then it breaks again.
Somehow intellij is not finding the mix version of rebar, which is definitely there and installed.
Desktop:
- OS: MacOs
- Version 11.2.1
Erlang:
- Installer asdf
- Version 23.2.4
Elixir:
- Installer asdf
- Version 1.11.3-otp-23
Plugin:
- Version 11.10.0