Search code examples
rubyrubygemsawesomeprint

Can't get awesome_print gem to work


awesome_print looks like a pretty nice gem, so I wanted to try it out.

I went to one of my projects and did:

gem install awesome_print

and it says one gem installed, documentation installed, etc.

Then, while I am in that project, I went to my Rails console to try it out, but when I did a require "awesome_print" as their help file says, I get a "cannot load such file".

Has anyone got this to work?


Solution

  • gem install will put the gem code on your computer, but unless the gem's source code files are on your load path, require won't be able to find them. bundle exec looks at the nearest Gemfile.lock and adds the source code for all the gems listed there to your load path. Rails initialization includes getting Bundler to do this for you.

    One solution is to add awesome_print to your Gemfile. However, this will cause your application to have awesome_print as a dependency. Alternatively you can manually add the awesome_print library to your load path after starting up the Rails console and then requiring it:

    $ rails c
    > $LOAD_PATH << path/to/awesome_print-x.x.x/lib
    > require 'awesome_print'
    > ap {foo: {bar: {baz: :qux}}}
    

    If you're using RVM, the path is likely to be something like:

    ~/.rvm/rubies/ruby-x.x.x-pxxx@your_gemset_name/gems/awesome_print-x.x.x/lib