以下是我的尝试:
1. gem install awesome_print
2. echo "require 'ap'" >> ~/.irbrc
3. chmod u+x ~/.irbrc
4. script/console
5. ap { :test => 'value' }
结果:
NameError: undefined local variable or method `ap' for #
以下是我的尝试:
1. gem install awesome_print
2. echo "require 'ap'" >> ~/.irbrc
3. chmod u+x ~/.irbrc
4. script/console
5. ap { :test => 'value' }
结果:
NameError: undefined local variable or method `ap' for #
想要检查.irbrc文件中哪里出了问题,只需将.irbrc作为普通的Ruby脚本执行(ruby ~/.irbrc),Ruby会告诉你哪一行出错。它可能会抱怨缺少IRB模块,在脚本中加入require 'irb'即可(实际运行IRB时不需要这样做,仅在测试时需要)。
根据“~/.irbrc”可能无效的建议,我将我的文件减少到一个单一的“puts"hi"”,虽然当我运行“irb”时它输出了,但当我运行“rails console”时却没有任何输出。
最终我注意到提示是“pry(main)”。原来这个Rails项目配置了“pry-rails” gem,所以控制台使用它。自定义“.pryrc”即可解决问题。
require
语句,并且由于捆绑程序环境而无法工作,则整个.irbrc将被悄无声息地忽略。解决方案:在可能出现故障的所有内容周围使用begin / rescue Exception / end
块。 - Jo Liss你需要像jdeseno所写的那样添加require 'rubygems'
。
如果你使用Rails3并且使用Bundler,你还需要在Gemfile中指定'awesome_print' gem(在:development组中)才能使它正常工作。