2010-04-24 155 views
7

這裏就是我試過.irbrc不執行:〜/啓動時IRB或腳本/控制檯

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 # 

回答

8

添加 「需要 'RubyGems的'」 我的〜/ .irbrc文件似乎可以做到這一點。

3

在我的情況下是「如果你的〜/ .irbrc無效,它將默默地失敗 」。 - 從谷歌搜索 - 發現並修正錯誤,在〜/ .irbrc,一切工作正常

+1

有同樣的問題。特別是,如果頂部有任何'require'語句,並且由於bundler環境而無法工作,則整個.irbrc將被默認忽略。解決方案:'開始/救援異常/結束'阻止任何可能失敗的事物。 – 2011-03-10 17:47:52

1

您需要添加require 'rubygems'爲jdeseno寫道。

如果您使用Rails3並使用Bundler,那麼您還需要在Gemfile中指定'awesome_print'gem(在:development組中)以使其工作。

13

要檢查.irbrc失敗,只需將.irbrc作爲普通的Ruby腳本(ruby〜/ .irbrc)執行,Ruby會告訴你哪一行失敗。它可能會抱怨IRB模塊丟失,只需要腳本中的'irb'(測試時只需要這個,而不是在實際運行IRB時)。

+0

什麼是優秀的解決方案:) – superluminary 2013-09-24 14:27:07

+0

尤普,這絕對幫助我調試我的情況,並導致修復。 (我只是感到迷惑,IRB在缺少寶石時加載irb時沒有抱怨。) – 2015-09-02 07:24:17

+0

這個。最佳答案。應該標記如此。 – 2017-04-27 15:16:46

5

你的Rails臺可以使用撬

基礎上建議,~/.irbrc必須是無效的,我減少礦單一puts "hi",雖然當我跑irb它的輸出,它沒有,當我跑rails console

我終於注意到提示是pry(main)。事實證明,這個Rails項目是由pry-rails gem設置的,所以這就是控制檯所使用的。定製.pryrc會訣竅。

相關問題