neovim / neovim-ruby

Ruby support for Neovim
MIT License
340 stars 17 forks source link

Failed to run: /usr/local/bin/neovim-ruby-host --version #35

Closed sjshuck closed 7 years ago

sjshuck commented 7 years ago

macOS Sierra Neovim 0.2.0 and Ruby 2.4.1 installed via homebrew Using vim-plug Gem neovim 0.4.0

:CheckHealth fails when it gets to Ruby after Neovim 0.2.0 upgrade, before and after neovim-ruby upgrade from 0.3.1 to 0.4.0.

Relevant line in .config/nvim/init.vim (needed to use Homebrew Ruby and not macOS's): let g:ruby_path = '/usr/local/bin/ruby'

Here is the output of neovim-ruby-host --version:

$ neovim-ruby-host --version
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack/msgpack.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.0.dylib (LoadError)
  Referenced from: /usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack/msgpack.bundle
  Reason: image not found - /usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack/msgpack.bundle
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack.rb:11:in `rescue in <top (required)>'
    from /usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack.rb:8:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/neovim-0.4.0/lib/neovim/session/serializer.rb:2:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/neovim-0.4.0/lib/neovim/session.rb:5:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/neovim-0.4.0/lib/neovim.rb:4:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/neovim-0.4.0/lib/neovim/host.rb:1:in `<top (required)>'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.4.0/gems/neovim-0.4.0/bin/neovim-ruby-host:3:in `<top (required)>'
    from /usr/local/bin/neovim-ruby-host:22:in `load'
    from /usr/local/bin/neovim-ruby-host:22:in `<main>'

For comparison, upgrading Neovim to 0.2.0 on Arch Linux simply caused :CheckHealth to complain about an out-of-date neovim Ruby gem; neovim gem upgrade from 0.3.1 to 0.4.0 fixed that.

justinmk commented 7 years ago

/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack/msgpack.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.0.dylib (LoadError) Referenced from: /usr/local/lib/ruby/gems/2.4.0/gems/msgpack-1.0.3/lib/msgpack/msgpack.bundle

Isn't that a problem with your environment?

sjshuck commented 7 years ago

Indeed, a gem update fixed the issue. Thanks.