bellycard/napa

Cannot run napa console (Napa v0.3.0)

Closed this issue · 4 comments

Not sure if this is a bug but i'm getting this on two of my servers when trying to run napa console.

 $ napa console
WARN: Unresolved specs during Gem::Specification.reset:
      rake (>= 0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- readline (LoadError)
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/lib/napa/cli.rb:43:in `rescue in console'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/lib/napa/cli.rb:38:in `console'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/bin/napa:5:in `<top (required)>'
    from /home/deploy/.rbenv/versions/2.1.2/bin/napa:23:in `load'
    from /home/deploy/.rbenv/versions/2.1.2/bin/napa:23:in `<main>'
FAIL

I tried gem cleanup rake but it didn't work.

Also I tried updating the napa gem on an existing project and that just made my api no longer work (but that may be a separate issue) so I'm stuck with napa v0.3.0 for now.

Thanks!

Are you using bundler? Does bundle exec napa console fix it?

With bundle exec:

 $ bundle exec napa console production
/home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/lib/napa/cli.rb:43:in `require'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/lib/napa/cli.rb:43:in `rescue in console'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/lib/napa/cli.rb:38:in `console'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /home/deploy/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/napa-0.3.0/bin/napa:5:in `<top (required)>'
    from /home/deploy/.rbenv/versions/2.1.2/bin/napa:23:in `load'
    from /home/deploy/.rbenv/versions/2.1.2/bin/napa:23:in `<main>'
FAIL
shaqq commented

@dkarter your ruby needs to be compiled with readline support. We should add a check for readline support, like they do in pry:

https://github.com/pry/pry/blob/5101cd4e34d905e10a218b01fb355668bf2fec21/lib/pry/config/default.rb#L150

Thanks for looking into this! I can confirm this was the issue.
First I tried installing the rb-readline gem as suggested in the pry code but that didn't work for Napa.
This article helped me solve the issue: http://vvv.tobiassjosten.net/ruby/readline-in-ruby-with-rbenv/