Reputation: 9014
Here's what I've tried:
1. gem install awesome_print
2. echo "require 'ap'" >> ~/.irbrc
3. chmod u+x ~/.irbrc
4. script/console
5. ap { :test => 'value' }
Result:
NameError: undefined local variable or method `ap' for #
Upvotes: 10
Views: 4151
Reputation: 2041
Do check whether the application is using Pry or Debug. For the former, edit .pryrc; the latter uses .irbrc.
You can edit .pryrc in your repository directory. The local directory and $HOME is scanned for the dot file.
Upvotes: 0
Reputation: 126122
Based on the suggestions that ~/.irbrc
must be invalid, I reduced mine to a single puts "hi"
, and although it output when I ran irb
, it did not when I ran rails console
.
I finally noticed that the prompt was pry(main)
. It turned out that this Rails project is set up with the pry-rails
gem, so that's what the console uses. Customizing .pryrc
does the trick.
Upvotes: 13
Reputation: 1290
To check what in .irbrc is failing, just execute .irbrc as a normal Ruby script (ruby ~/.irbrc), and Ruby will tell you which line fails. It might complain that IRB module is missing, just require 'irb' in the script (you only need this when testing it, not when actually running IRB).
Upvotes: 20
Reputation: 9644
You need to add require 'rubygems'
as jdeseno wrote.
If you are on Rails3 and use Bundler, you also need to specify the 'awesome_print' gem in the Gemfile too (in the :development group) for it to work.
Upvotes: 1
Reputation: 195
In my case it was "If your ~/.irbrc is invalid, it will fail silently." - from Google search - found and fixed errors in ~/.irbrc, all working fine
Upvotes: 7
Reputation:
Adding "require 'rubygems'" to my ~/.irbrc file seemed to do the trick.
Upvotes: 8