Problemillas con extensión ElixirLS: {‘no such file or directory’, ‘edoc.app’}
Hoy he reinstalado VS code y la extensión ElixirLS, y me saltaba este error:
05:05:15.760 [info] Application elixir_ls_utils exited: :stopped [Info - 5:05:15 AM] Connection to server got closed. Server will restart. 05:05:15.762 [info] Application jason_vendored exited: :stopped 05:05:15.762 [info] Application erl2ex exited: :stopped 05:05:15.762 [info] Application forms exited: :stopped 05:05:15.762 [info] Application dialyzer exited: :stopped 05:05:15.762 [info] Application wx exited: :stopped 05:05:15.762 [info] Application hipe exited: :stopped [Warn - 5:05:15 AM] ** (MatchError) no match of right hand side value: {:error, {:edoc, {'no such file or directory', 'edoc.app'}}} (language_server) lib/language_server/cli.ex:9: ElixirLS.LanguageServer.CLI.main/0 (stdlib) erl_eval.erl:680: :erl_eval.do_apply/6 (elixir) lib/code.ex:240: Code.eval_string/3
Se arregló instalando:
sudo dnf install elixir-doc
Parece que en muchas distribuciones de Linux erlang viene muy separado.
Aunque no parece relacionado con este error en concreto, mientras investigaba parece que eran necesarios estos otros:
sudo dnf install erlang-dialyzer sudo dnf install erlang-debugger
Como siempre, podemos ver lo que tenemos instalado y lo que hay disponible:
j sudo dnf list installed "erlang*"
[sudo] password for j:
Installed Packages
erlang-asn1.x86_64 22.3.4.4-1.fc31 @updates
erlang-compiler.x86_64 22.3.4.4-1.fc31 @updates
erlang-crypto.x86_64 22.3.4.4-1.fc31 @updates
erlang-debugger.x86_64 22.3.4.4-1.fc31 @updates
erlang-dialyzer.x86_64 22.3.4.4-1.fc31 @updates
erlang-edoc.x86_64 22.3.4.4-1.fc31 @updates
erlang-erts.x86_64 22.3.4.4-1.fc31 @updates
erlang-hipe.x86_64 22.3.4.4-1.fc31 @updates
erlang-inets.x86_64 22.3.4.4-1.fc31 @updates
erlang-kernel.x86_64 22.3.4.4-1.fc31 @updates
erlang-mnesia.x86_64 22.3.4.4-1.fc31 @updates
erlang-parsetools.x86_64 22.3.4.4-1.fc31 @updates
erlang-public_key.x86_64 22.3.4.4-1.fc31 @updates
erlang-runtime_tools.x86_64 22.3.4.4-1.fc31 @updates
erlang-sasl.x86_64 22.3.4.4-1.fc31 @updates
erlang-ssl.x86_64 22.3.4.4-1.fc31 @updates
erlang-stdlib.x86_64 22.3.4.4-1.fc31 @updates
erlang-syntax_tools.x86_64 22.3.4.4-1.fc31 @updates
erlang-tools.x86_64 22.3.4.4-1.fc31 @updates
erlang-wx.x86_64 22.3.4.4-1.fc31 @updates
erlang-xmerl.x86_64 22.3.4.4-1.fc31 @updates
j sudo dnf search "erlang*"
Last metadata expiration check: 0:22:34 ago on Mon 03 Aug 2020 05:14:39 AM CEST.
================================ Name & Summary Matched: erlang* ================================
erlang-idna.noarch : Erlang IDNA lib
erlang-doc.noarch : Erlang documentation
erlang-jiffy.x86_64 : Erlang JSON parser
erlang-rebar.noarch : Erlang Build Tools
erlang-eldap.x86_64 : Erlang LDAP library
erlang-ibrowse.noarch : Erlang HTTP client
erlang-eleveldb.x86_64 : Erlang LevelDB API
erlang-emmap.x86_64 : Erlang mmap interface
erlang-etap.noarch : Erlang testing library
erlang-gtknode.x86_64 : Erlang GTK2 binding
erlang-stdlib2.noarch : Erlang stdlib extensions
erlang-folsom.noarch : Erlang-based metrics system
erlang-riak_client.noarch : Erlang client for Riak
erlang-egeoip.noarch : Erlang IP Geolocation module
erlang-mimetypes.noarch : Erlang MIME types library
erlang-corba-doc.noarch : Erlang CORBA documentation
erlang-eimp.x86_64 : Erlang Image Manipulation Process
erlang-eradius.noarch : Erlang RADIUS server framework
erlang-epgsql.noarch : Erlang PostgreSQL client library
erlang-cache_tab.x86_64 : Erlang cache table application
erlang-amf.noarch : Erlang Action Message Format Library
erlang-esdl.x86_64 : Erlang OpenGL/SDL API and utilities
erlang-libguestfs.x86_64 : Erlang bindings for libguestfs
erlang-eper.noarch : Erlang Performance and Debugging Tools
erlang-gettext.noarch : Erlang internationalization library
erlang-p1_utils.noarch : Erlang utility modules from ProcessOne
erlang-sd_notify.x86_64 : Erlang interface to systemd notify subsystem
erlang-xmpp.x86_64 : Erlang/Elixir XMPP parsing and serialization library
erlang-erlydtl.noarch : Erlang implementation of the Django Template Language
erlang-getopt.noarch : Erlang module to parse command line arguments using the GNU getopt syntax
erlang-neotoma.noarch : Erlang library and packrat parser-generator for parsing expression
: grammars
===================================== Name Matched: erlang* =====================================
erlang.x86_64 : General-purpose programming language and runtime environment
erlang-wx.x86_64 : A library for wxWidgets support in Erlang
erlang-cl.x86_64 : OpenCL binding for Erlang
erlang-et.x86_64 : An event tracer for Erlang programs
erlang-ic.x86_64 : IDL compiler
erlang-js.x86_64 : A Friendly Erlang to Javascript Binding
erlang-wx.x86_64 : A library for wxWidgets support in Erlang
erlang-cf.x86_64 : Terminal color helper
erlang-fs.noarch : Native filesystem listeners for Erlang
erlang-ssl.x86_64 : Secure Socket Layer support
erlang-ftp.x86_64 : FTP client
erlang-ssh.x86_64 : Secure Shell application with sftp and ssh support
erlang-ssl.x86_64 : Secure Socket Layer support
erlang-jsx.noarch : A streaming, evented json parsing toolkit
erlang-kvc.noarch : Key Value Coding for Erlang data structures
erlang-lfe.x86_64 : Lisp Flavoured Erlang
erlang-asn1.x86_64 : Provides support for Abstract Syntax Notation One
erlang-edoc.x86_64 : A utility used to generate documentation out of tags in source files
erlang-erts.x86_64 : Functionality necessary to run the Erlang System itself
erlang-hipe.x86_64 : High Performance Erlang
erlang-sasl.x86_64 : The System Architecture Support Libraries
erlang-asn1.x86_64 : Provides support for Abstract Syntax Notation One
erlang-bear.noarch : A set of statistics functions for erlang
erlang-edoc.x86_64 : A utility used to generate documentation out of tags in source files
erlang-erts.x86_64 : Functionality necessary to run the Erlang System itself
erlang-esip.x86_64 : ProcessOne SIP server component in Erlang
erlang-hipe.x86_64 : High Performance Erlang
erlang-jose.noarch : JSON Object Signing and Encryption (JOSE) for Erlang and Elixir
erlang-meck.noarch : A mocking library for Erlang
erlang-odbc.x86_64 : A library for unixODBC support in Erlang
erlang-pkix.noarch : PKIX certificates management for Erlang
erlang-sasl.x86_64 : The System Architecture Support Libraries
erlang-sext.noarch : Sortable Erlang Term Serialization
erlang-snmp.x86_64 : Simple Network Management Protocol (SNMP) support
erlang-stun.noarch : STUN and TURN library for Erlang / Elixir
erlang-tftp.x86_64 : TFTP client
erlang-triq.noarch : A property-based testing library for Erlang
erlang-epam.x86_64 : Library for ejabberd for PAM authentication support
erlang-fuse.noarch : A Circuit Breaker for Erlang
erlang-relx.noarch : Release assembler for Erlang/OTP Releases
erlang-inets.x86_64 : A set of services such as a Web server and a HTTP client etc
erlang-tools.x86_64 : A set of programming tools including a coverage analyzer etc
erlang-xmerl.x86_64 : Provides support for XML 1.0
erlang-edown.noarch : EDoc extension for generating Github-flavored Markdown
erlang-eunit.x86_64 : Support for unit testing
erlang-hyper.x86_64 : An implementation of the HyperLogLog algorithm in Erlang
erlang-iconv.x86_64 : Fast encoding conversion library for Erlang / Elixir
erlang-inets.x86_64 : A set of services such as a Web server and a HTTP client etc
erlang-lager.noarch : A logging framework for Erlang/OTP
erlang-orber.x86_64 : A CORBA Object Request Broker
erlang-setup.noarch : Generic setup utility for Erlang-based systems
erlang-skerl.x86_64 : Skein hash function for Erlang, via NIFs
erlang-tools.x86_64 : A set of programming tools including a coverage analyzer etc
erlang-xmerl.x86_64 : Provides support for XML 1.0
erlang-yconf.noarch : YAML configuration processor
erlang-esasl.x86_64 : Simple Authentication and Security Layer (SASL) support for Erlang
erlang-ezlib.x86_64 : Native zlib driver for Erlang
erlang-gproc.noarch : Extended process registry for Erlang
erlang-luerl.noarch : Lua in Erlang
erlang-oauth.noarch : An Erlang OAuth 1.0 implementation
erlang-ranch.noarch : Socket acceptor pool for TCP protocols
erlang-crypto.x86_64 : Cryptographical support
erlang-kernel.x86_64 : Main erlang library
erlang-mnesia.x86_64 : A heavy duty real-time distributed database
erlang-stdlib.x86_64 : The Erlang standard libraries
erlang-clique.noarch : CLI Framework for Erlang
erlang-cowboy.noarch : Small, fast, modular HTTP server written in Erlang
erlang-cowlib.noarch : Support library for manipulating Web protocols
erlang-crypto.x86_64 : Cryptographical support
erlang-ebloom.x86_64 : A NIF wrapper around a basic bloom filter
erlang-eflame.noarch : Flame Graph profiler for Erlang
erlang-kernel.x86_64 : Main erlang library
erlang-megaco.x86_64 : Megaco/H.248 support library
erlang-mnesia.x86_64 : A heavy duty real-time distributed database
erlang-mqtree.x86_64 : Index tree for MQTT topic filters
erlang-os_mon.x86_64 : A monitor which allows inspection of the underlying operating system
erlang-proper.noarch : A QuickCheck-inspired property-based testing tool for Erlang
erlang-snappy.x86_64 : An Erlang NIF wrapper for Google's snappy library
erlang-stdlib.x86_64 : The Erlang standard libraries
erlang-erlsom.noarch : Support for XML Schema in Erlang
erlang-oauth2.noarch : An Oauth2 implementation for Erlang
erlang-rebar3.noarch : Tool for working with Erlang projects
erlang-xmlrpc.noarch : HTTP 1.1 compliant XML-RPC library for Erlang
erlang-bitcask.x86_64 : Eric Brewer-inspired key/value store
erlang-chronos.noarch : Timer utility for Erlang tests
erlang-cosTime.x86_64 : Orber OMG Timer and TimerEvent Service
erlang-p1_acme.noarch : ACME client library for Erlang
erlang-poolboy.noarch : A hunky Erlang worker pool factory
erlang-reltool.x86_64 : A release management tool
erlang-riak_dt.noarch : Convergent replicated data types in Erlang
erlang-riak_kv.noarch : Riak Key/Value Store
erlang-riak_pb.noarch : Riak Protocol Buffers Messages
erlang-sidejob.noarch : An Erlang library that implements a parallel, capacity-limited request
: pool
erlang-certifi.x86_64 : Dummy certifi (certificate bundle) package for erlang
erlang-erlando.x86_64 : A set of syntax extensions for Erlang
erlang-log4erl.noarch : A logger for erlang in the spirit of Log4J
erlang-compiler.x86_64 : A byte code compiler for Erlang which produces highly compact code
erlang-debugger.x86_64 : A debugger for debugging and testing of Erlang programs
erlang-dialyzer.x86_64 : A DIscrepancy AnaLYZer for ERlang programs
erlang-compiler.x86_64 : A byte code compiler for Erlang which produces highly compact code
erlang-cosEvent.x86_64 : Orber OMG Event Service
erlang-debugger.x86_64 : A debugger for debugging and testing of Erlang programs
erlang-dialyzer.x86_64 : A DIscrepancy AnaLYZer for ERlang programs
erlang-diameter.x86_64 : Diameter (RFC 3588) library
erlang-examples.x86_64 : Examples for some Erlang modules
erlang-fast_tls.x86_64 : TLS / SSL native driver for Erlang / Elixir
erlang-fast_xml.x86_64 : Fast Expat based Erlang XML parsing and manipulation library
erlang-goldrush.noarch : Small, fast event processing and monitoring for Erlang/OTP applications
erlang-hamcrest.noarch : A framework for writing matcher objects using declarative rules
erlang-mochiweb.noarch : An Erlang library for building lightweight HTTP servers
erlang-mustache.noarch : Mustache template engine for Erlang
erlang-observer.x86_64 : A set of tools for tracing and investigation of distributed systems
erlang-p1_mysql.noarch : Pure Erlang MySQL driver
erlang-p1_pgsql.noarch : Pure Erlang PostgreSQL driver
erlang-riak_api.noarch : Riak Client APIs
erlang-hex_core.noarch : Reference implementation of Hex specifications
erlang-fast_yaml.x86_64 : An Erlang wrapper for libyaml "C" library
erlang-p1_oauth2.noarch : An Oauth2 implementation for Erlang
erlang-riak_core.noarch : Distributed systems infrastructure used by Riak
erlang-riak_pipe.noarch : Riak Pipelines
erlang-base64url.noarch : URL safe base64-compatible codec
erlang-erlsyslog.x86_64 : Syslog facility for Erlang
erlang-providers.noarch : An Erlang providers library
erlang-parsetools.x86_64 : A set of parsing and lexical analysis tools
erlang-public_key.x86_64 : API to public key infrastructure
erlang-cuttlefish.noarch : A library for dealing with sysctl-like configuration syntax
erlang-erl_docgen.x86_64 : A utility used to generate erlang HTML documentation
erlang-jinterface.x86_64 : A library for accessing Java from Erlang
erlang-parsetools.x86_64 : A set of parsing and lexical analysis tools
erlang-protobuffs.noarch : A set of Protocol Buffers tools and modules for Erlang applications
erlang-public_key.x86_64 : API to public key infrastructure
erlang-rpm-macros.noarch : Macros for simplifying building of Erlang packages
erlang-stringprep.x86_64 : A framework for preparing Unicode strings to help input and comparison
erlang-webmachine.noarch : A REST-based system for building web applications
erlang-bbmustache.noarch : Binary pattern match-based Mustache template engine for Erlang
erlang-gen_leader.noarch : A leader election behavior modeled after gen_server
erlang-riaknostic.noarch : A diagnostic tool for Riak installations
erlang-basho_stats.noarch : Basic Erlang statistics library
erlang-common_test.x86_64 : A portable framework for automatic testing
erlang-cosProperty.x86_64 : Orber OMG Property Service
erlang-merge_index.noarch : An Erlang library for storing ordered sets on disk
erlang-parse_trans.noarch : Parse transform utilities for Erlang
erlang-riak_sysmon.noarch : Rate-limiting system_monitor event handler for Riak
erlang-riak_search.noarch : Full-text search engine based on Riak
erlang-syntax_tools.x86_64 : A set of tools for dealing with erlang sources
erlang-cluster_info.noarch : Cluster info/postmortem inspector for Erlang applications
erlang-syntax_tools.x86_64 : A set of tools for dealing with erlang sources
erlang-cth_readable.noarch : Common test hooks for more readable erlang logs
erlang-riak_control.noarch : Admin UI for Riak
erlang-runtime_tools.x86_64 : A set of tools to include in a production system
erlang-basho_metrics.x86_64 : Fast performance metrics for Erlang
erlang-erl_interface.x86_64 : Low level interface to C
erlang-exometer_core.noarch : Easy and efficient instrumentation of Erlang code
erlang-lucene_parser.noarch : A library for Lucene-like query syntax parsing
erlang-riak_ensemble.x86_64 : Multi-Paxos framework in Erlang
erlang-runtime_tools.x86_64 : A set of tools to include in a production system
erlang-cosEventDomain.x86_64 : Orber OMG Event Domain Service
erlang-ssl_verify_fun.noarch : Collection of ssl verification functions for Erlang
erlang-cosFileTransfer.x86_64 : Orber OMG File Transfer Service
erlang-cosNotification.x86_64 : Orber OMG Notification Service
erlang-cosTransactions.x86_64 : Orber OMG Transaction Service
erlang-erlware_commons.noarch : Extension to Erlang's standard library
erlang-eunit_formatters.x86_64 : Better output format for eunit test suites
erlang-unicode_util_compat.noarch : A unicode_util compatibility library for Erlang < 20
Por cierto, la primera vez que arranca ElixirLS está unos minutos analizando («PLT»). Veremos un proceso consumiendo CPU:
j 59621 0.1 0.3 2713724 28840 pts/0 Sl+ 04:46 0:00 /usr/lib64/erlang/erts-10.7.2.2/bin/beam.smp -- -root /usr/lib64/erlang -progname erl -- -home /home/j -- -pa /usr/share/elixir/1.9.2/bin/../lib/eex/ebin /usr/share/elixir/1.9.2/bin/../lib/elixir/ebin /usr/share/elixir/1.9.2/bin/../lib/ex_unit/ebin /usr/share/elixir/1.9.2/bin/../lib/iex/ebin /usr/share/elixir/1.9.2/bin/../lib/logger/ebin /usr/share/elixir/1.9.2/bin/../lib/mix/ebin -elixir ansi_enabled true -noshell -user Elixir.IEx.CLI -- -extra --no-halt +iex