Issue with ElixirLS on vscode

I had all my workspace working as it should be with a setup of:

VSCode
Elixir 1.9.4 (compiled with Erlang/OTP 22)

But suddenly the setup started giving me exceptions on vscode:

Unknown command: asdf exec elixir -e ElixirLS.LanguageServer.CLI.main()
[Error - 12:56:10 PM] Connection to server got closed. Server will not be restarted

How do you start vscode? From the terminal or do you use your GUI?

If the latter try the former and see if the issue persists, if you already started from the terminal, try on the command you cited succeeds on a terminal or gives you an error.

1 Like

Thank u for replying. Have tried both ways from terminal as well as web ui.
Also tried the command as mentioned above and it says module not found. I am assuming ElixirLS the plugin must be invoking some dependencies before it would be firing the command.

Hi Hardik,

Very unlikely that this has anything to do with VS Code itself. I’m not sure which OS you’re on, but in my experience these types of errors are almost always related to $PATH problems in asdf. I suspect the source of the error is coming from this launch script in ElixirLS.

Notice that it’s using asdf exec to run elixir. A couple thoughts:

  • Is your Elixir installed via ASDF?
  • Do you have any non-ASDF versions of Elixir installed?
  • Does which asdf work for you?
  • If you just run asdf exec elixir -v, does it successfully give you a version?
  • Does asdf current give you the Elixir version you expect?
  • Have you tried asdf reshim?
  • Any recent changes to your shell config file?
2 Likes

Thanks for replying back.

  • Is your Elixir installed via ASDF? - Yes it is.
  • Do you have any non-ASDF versions of Elixir installed? - I used to, but i uninstalled it
  • Does which asdf work for you? - Yes this works
  • If you just run asdf exec elixir -v , does it successfully give you a version? - yes this works as well and give me the correct version
  • Does asdf current give you the Elixir version you expect? - Same with this one as well
  • Have you tried asdf reshim ? - Yes had tried this but it didn’t help fix anything
  • Any recent changes to your shell config file? - Not that i can remember, i rechecked and commented out most of the non-related entries there and it still didn’t work.

So just to clarify, all the commands on asdf and elixir work fine separately and together on terminal. its just that when the elixirLS module is being referred its giving errors.

Ok First off thanks everyone, this was my first post on this community forum, and I am blown away by how much involved everyone is, so thank you for trying to help me out.

Also, I solved my issue, so it was probably because I had earlier installed elixir using homebrew first as my one off investigation into elixir, and then recently i started going really deep into the language so used asdf for it and that’ where i think something got entangled.

I removed the homebrew installation, removed the asdf installation started from scratch and now everything works.
Thank you again everyone.

4 Likes