erlangelixirerlang-otplanguage-server-protocolasdf-vm

ElixirLS compiles without OTP EEP48 docs


Recently I had problem that I can't solve. It's about Elixir LS, when I run language server, it displays this message:

{"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Started ElixirLS v0.12.0","type":3}}

{"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"ElixirLS built with elixir \"1.14.2\" on OTP \"25\"","type":3}}

{"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Running on elixir \"1.14.2 (compiled with Erlang/OTP 25)\" on OTP \"25\"","type":3}}

{"jsonrpc":"2.0","method":"window/showMessage","params":{"message":"OTP compiled without EEP48 documentation chunks","type":2}}

{"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"OTP compiled without EEP48 documentation chunks. Language features for erlang modules will run in limited mode. Please reinstall or rebuild OTP with approperiate flags.","type":2}}

{"jsonrpc":"2.0","method":"window/logMessage","params":{"message":"Elixir sources not found (checking in /home/build/elixir). Code navigation to Elixir modules disabled.","type":3}}

ElixirLS can't compile correctly, as it says, it compiles without EEP48 documentation. I followed guide on ElixirLS installation, but I can't make it work. Erlang and elixir are installed with asdf, i'm running Elixir 1.14.2 (compiled with Erlang/OTP 25) on Arch Linux.

Thanks for help!


Solution

  • See the Getting Erlang documentation section of the asdf-erlang docs, especially:

    export KERL_BUILD_DOCS="yes"
    

    and

    Note: Environment variable has to be set before asdf install erlang <version> is executed, to take effect.