williamboman / nvim-lsp-installer

Further development has moved to https://github.com/williamboman/mason.nvim!
https://github.com/williamboman/mason.nvim
Apache License 2.0
2k stars 123 forks source link

Solargraph fails to install #556

Closed LandonSchropp closed 2 years ago

LandonSchropp commented 2 years ago

Problem description

I'm trying to install Solargraph using :LspInstall solargraph, but the server fails to install. It's stuck in Pending.

Just in case it's relevant, I'm using an M1 Mac.

Neovim version (>= 0.6)

NVIM v0.6.1 Build type: Release LuaJIT 2.1.0-beta3

Operating system/version

Darwin landons-mbp.lan 21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64

I've recently downloaded the latest plugin version of both nvim-lsp-installer and nvim-lspconfig

Affected language servers

solargraph

Actual behavior

The server fails to install.

Expected behavior

The server should install.

LspInstallInfo output

nvim-lsp-installer
                                              press ? for help
                             https://github.com/williamboman/nvim-lsp-installer

  Installed servers (5) 
    ◍ bashls 
    ◍ dockerls 
    ◍ jsonls 
    ◍ sumneko_lua (lua)
    ◍ yamlls 

  Pending servers (1) 
    ◍ solargraph (failed)
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_LIBRARY_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION_NUMBER
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_FIPS
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::BN::CONSTTIME
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::Config::DEFAULT_CONFIG_FILE
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_LIBRARY_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION_NUMBER
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_FIPS
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::BN::CONSTTIME
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::Config::DEFAULT_CONFIG_FILE
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_LIBRARY_VERSION
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_VERSION_NUMBER
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::OPENSSL_FIPS
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::BN::CONSTTIME
        /Users/landon/.rbenv/versions/3.1.1/lib/ruby/3.1.0/arm64-darwin21/openssl.bundle: warning: already initialized constant OpenSSL::Config::DEFAULT_CONFIG_FILE
        ERROR:  Loading command: install (LoadError)
            incompatible library version - /opt/homebrew/Cellar/tmuxinator/3.0.2/libexec/gems/digest-3.1.0/lib/digest.bundle
        ERROR:  While executing gem ... (NoMethodError)
            undefined method `deprecated?' for nil:NilClass

              cmd.deprecation_warning if cmd.deprecated?
                                            ^^^^^^^^^^^^
        ...art/nvim-lsp-installer/lua/nvim-lsp-installer/server.lua:222: Installation failed.

  Available servers (103) 
    ◍ angularls 
    ◍ ansiblels 
    ◍ arduino_language_server 
    ◍ asm_lsp (assembly-gas, assembly-nasm, assembly-go)
    ◍ awk_ls 
    ◍ beancount 
    ◍ bicep 
    ◍ bsl_ls (onescript)
    ◍ ccls (c, c++, objective-c)
    ◍ clangd (c, c++)
    ◍ clojure_lsp 
    ◍ cmake 
    ◍ codeqlls 
    ◍ crystalline 
    ◍ csharp_ls (c#)
    ◍ cssls 
    ◍ cssmodules_ls 
    ◍ cucumber_language_server 
    ◍ dartls 
    ◍ denols 
    ◍ diagnosticls 
    ◍ dotls 
    ◍ efm 
    ◍ elixirls 
    ◍ elmls 
    ◍ ember 
    ◍ emmet_ls 
    ◍ erlangls 
    ◍ esbonio (sphinx)
    ◍ eslint (javascript, typescript)
    ◍ flux_lsp 
    ◍ foam_ls (OpenFOAM)
    ◍ fortls (fortran)
    ◍ fsautocomplete (f#)
    ◍ golangci_lint_ls (go)
    ◍ gopls (go)
    ◍ grammarly 
    ◍ graphql 
    ◍ groovyls 
    ◍ haxe_language_server 
    ◍ hls (haskell)
    ◍ html 
    ◍ intelephense (php)
    ◍ jdtls (java)
    ◍ jedi_language_server (python)
    ◍ jsonnet_ls 
    ◍ julials 
    ◍ kotlin_language_server 
    ◍ lelwel_ls 
    ◍ lemminx (xml)
    ◍ ltex (latex)
    ◍ nickel_ls 
    ◍ nimls 
    ◍ ocamlls deprecated 
    ◍ ocamllsp 
    ◍ omnisharp (c#)
    ◍ opencl_ls 
    ◍ perlnavigator 
    ◍ phpactor 
    ◍ powershell_es 
    ◍ prismals 
    ◍ psalm (php)
    ◍ puppet 
    ◍ purescriptls 
    ◍ pylsp (python)
    ◍ pyright (python)
    ◍ quick_lint_js (javascript)
    ◍ r_language_server (R)
    ◍ remark_ls (markdown)
    ◍ rescriptls 
    ◍ rnix 
    ◍ rome (typescript, javascript)
    ◍ rust_analyzer 
    ◍ salt_ls (sls)
    ◍ scry (crystal)
    ◍ serve_d (d)
    ◍ slint_lsp 
    ◍ solang (solidity)
    ◍ solc (solidity)
    ◍ solidity_ls 
    ◍ sorbet (ruby)
    ◍ sourcekit (swift)
    ◍ spectral (openapi, asyncapi)
    ◍ sqlls 
    ◍ sqls 
    ◍ stylelint_lsp 
    ◍ svelte 
    ◍ svls (systemverilog)
    ◍ tailwindcss 
    ◍ taplo (toml)
    ◍ terraformls 
    ◍ texlab (latex)
    ◍ tflint (terraform)
    ◍ theme_check (liquid)
    ◍ tsserver (typescript, javascript)
    ◍ vala_ls 
    ◍ verible (systemverilog, verilog)
    ◍ vimls 
    ◍ volar (vue)
    ◍ vuels 
    ◍ zeta_note (markdown)
    ◍ zk (markdown)
    ◍ zls (zig)

### Installation log

```shell
...
[INFO  Tue Mar 22 17:31:32 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:687: Installation completed server_name="solargraph", success=false
[INFO  Tue Mar 22 17:35:39 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:668: Starting install server_name="solargraph", requested_version=""
[ERROR Tue Mar 22 17:35:40 2022] ...art/nvim-lsp-installer/lua/nvim-lsp-installer/server.lua:242: Server installation failed, server_name="solargraph", error="...art/nvim-lsp-installer/lua/nvim-lsp-installer/server.lua:222: Installation failed."
[INFO  Tue Mar 22 17:35:40 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:687: Installation completed server_name="solargraph", success=false
[DEBUG Tue Mar 22 17:37:51 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:715: Queuing server="solargraph", version="" for installation
[INFO  Tue Mar 22 17:37:51 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:668: Starting install server_name="solargraph", requested_version=""
[DEBUG Tue Mar 22 17:37:51 2022] ...r/start/nvim-lsp-installer/lua/nvim-lsp-installer/fs.lua:41: fs: mkdirp /Users/landon/.local/share/nvim/lsp_servers/solargraph.tmp
[DEBUG Tue Mar 22 17:37:51 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:117: Spawning cmd="gem", spawn_opts={
  args = { "install", "--no-user-install", "--install-dir=.", "--bindir=bin", "--no-document", "solargraph" },
  cwd = "/Users/landon/.local/share/nvim/lsp_servers/solargraph.tmp"
}
[DEBUG Tue Mar 22 17:37:51 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:163: Spawned with pid 53394
[DEBUG Tue Mar 22 17:37:52 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:149: Job pid=53394 exited with exit_code=1, signal=0
[DEBUG Tue Mar 22 17:37:52 2022] ...r/start/nvim-lsp-installer/lua/nvim-lsp-installer/fs.lua:22: fs: rmrf /Users/landon/.local/share/nvim/lsp_servers/solargraph.tmp
[ERROR Tue Mar 22 17:37:52 2022] ...art/nvim-lsp-installer/lua/nvim-lsp-installer/server.lua:242: Server installation failed, server_name="solargraph", error="...art/nvim-lsp-installer/lua/nvim-lsp-installer/server.lua:222: Installation failed."
[DEBUG Tue Mar 22 17:37:52 2022] ...r/start/nvim-lsp-installer/lua/nvim-lsp-installer/fs.lua:22: fs: rmrf /Users/landon/.local/share/nvim/lsp_servers/solargraph.tmp
[DEBUG Tue Mar 22 17:37:52 2022] ...r/start/nvim-lsp-installer/lua/nvim-lsp-installer/fs.lua:25: fs: rmrf failed
[INFO  Tue Mar 22 17:37:52 2022] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:687: Installation completed server_name="solargraph", success=false
[DEBUG Tue Mar 22 17:37:52 2022] ...r/start/nvim-lsp-installer/lua/nvim-lsp-installer/fs.lua:106: fs: read_file "/Users/landon/.local/share/nvim/lsp_servers/solargraph/nvim-lsp-installer-receipt.json"
[DEBUG Tue Mar 22 17:37:52 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:117: Spawning cmd="gem", spawn_opts={
  args = { "list" },
  cwd = "/Users/landon/.local/share/nvim/lsp_servers/solargraph",
  env = { "TERM_PROGRAM=<redacted>", "LSCOLORS=<redacted>", "MANPATH=<redacted>", "TERM=<redacted>", "TMUX=<redacted>", "ZSH_TMUX_TERM=<redacted>", "VIMRUNTIME=<redacted>", "HOMEBREW_REPOSITORY=<redacted>", "LANG=<redacted>", "NVM_INC=<redacted>", "NVM_CD_FLAGS=<redacted>", "SSH_AUTH_SOCK=<redacted>", "NVIM_LISTEN_ADDRESS=<redacted>", "USER=<redacted>", "PYENV_SHELL=<redacted>", "TMUX_PLUGIN_MANAGER_PATH=<redacted>", "LaunchInstanceID=<redacted>", "NVM_DIR=<redacted>", "TERM_SESSION_ID=<redacted>", "COMMAND_MODE=<redacted>", "EDITOR=<redacted>", "LESS=<redacted>", "LUNARVIM_CONFIG_DIR=<redacted>", "BAT_THEME=<redacted>", "LUNARVIM_RUNTIME_DIR=<redacted>", "TMPDIR=<redacted>", "TERM_PROGRAM_VERSION=<redacted>", "XPC_FLAGS=<redacted>", "LC_TERMINAL=<redacted>", "__CFBundleIdentifier=<redacted>", "ITERM_SESSION_ID=<redacted>", "LESSOPEN=<redacted>", "LUNARVIM_CACHE_DIR=<redacted>", "XPC_SERVICE_NAME=<redacted>", "ITERM_PROFILE=<redacted>", "__CF_USER_TEXT_ENCODING=<redacted>", "ZSH=<redacted>", "COLORTERM=<redacted>", "HOMEBREW_CELLAR=<redacted>", "SHLVL=<redacted>", "ZSH_TMUX_CONFIG=<redacted>", "COLORFGBG=<redacted>", "INFOPATH=<redacted>", "LC_TERMINAL_VERSION=<redacted>", "_ZSH_TMUX_FIXED_CONFIG=<redacted>", "PWD=<redacted>", "HOMEBREW_PREFIX=<redacted>", "PAGER=<redacted>", "TMUX_PANE=<redacted>", "NVIM_LOG_FILE=<redacted>", "SHELL=<redacted>", "DISABLE_AUTO_TITLE=<redacted>", "LOGNAME=<redacted>", "HOME=<redacted>", "NVM_BIN=<redacted>", "RBENV_SHELL=<redacted>", "SECURITYSESSIONID=<redacted>", "PYENV_ROOT=<redacted>", "PATH=/Users/landon/.local/share/nvim/lsp_servers/solargraph/bin:/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin:/Users/landon/.rbenv/shims:/Users/landon/.dotfiles/bin/git:/Users/landon/.dotfiles/bin/docker:/Users/landon/.dotfiles/bin/gcloud:/Users/landon/.dotfiles/bin:/Users/landon/.dotfiles/bin/git:/Users/landon/.dotfiles/bin/docker:/Users/landon/.dotfiles/bin/gcloud:/Users/landon/.dotfiles/bin:/Users/landon/.rbenv/shims:/Users/landon/.nvm/versions/node/v16.14.0/bin:/Users/landon/.local/bin:./bin:./node_modules/.bin:/Users/landon/.rbenv/shims:/Users/landon/.pyenv/shims:/Users/landon/.pyenv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/landon/.dotfiles/bin/git:/Users/landon/.dotfiles/bin/docker:/Users/landon/.dotfiles/bin/gcloud:/Users/landon/.dotfiles/bin", "GEM_HOME=/Users/landon/.local/share/nvim/lsp_servers/solargraph", "GEM_PATH=/Users/landon/.local/share/nvim/lsp_servers/solargraph" }
}
[DEBUG Tue Mar 22 17:37:52 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:163: Spawned with pid 53409
[DEBUG Tue Mar 22 17:37:52 2022] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:149: Job pid=53409 exited with exit_code=0, signal=0

### Healthcheck

```shell
nvim-lsp-installer: require("nvim-lsp-installer.health").check()
========================================================================
## nvim-lsp-installer report
  - OK: neovim version >= 0.6.0
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - WARNING: **julia**: not available
  - OK: **bash**: `GNU bash, version 3.2.57(1)-release (arm64-apple-darwin21)`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **curl**: `curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.5 zlib/1.2.11 nghttp2/1.45.1`
  - OK: **python3**: `Python 3.9.10`
  - OK: **Go**: `go version go1.18 darwin/arm64`
  - OK: **sh**: `Ok`
  - WARNING: **java**: not available
  - WARNING: **javac**: not available
  - OK: **node**: `v16.14.0`
  - OK: **Ruby**: `ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [arm64-darwin21]`
  - OK: **wget**: `GNU Wget 1.21.3 built on darwin21.3.0.`
  - OK: **RubyGem**: `3.2.32`
  - OK: **pip3**: `pip 21.3.1 from /opt/homebrew/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **npm**: `8.3.1`


### Screenshots

<img width="1186" alt="Screen Shot 2022-03-22 at 5 35 51 PM" src="https://user-images.githubusercontent.com/361591/159588150-b5a4bf98-bbe6-4718-98eb-b975de53349f.png">
williamboman commented 2 years ago

Hello! Speaking from personal experience, Ruby installations on MacOS have a tendency to break very easily. I'm not a Rubyist and I can't say I recognize the error at first glance. Are you able to otherwise install gems manually and whatnot?

LandonSchropp commented 2 years ago

@williamboman Thanks for the reply! I tracked down the root cause of the issue, and you're right, it's not related to nvim-lsp-installer. In my case, the core problem was tmuxinator/tmuxinator#841.

Thanks again for the reply, and sorry for the trouble!