2014-09-04 59 views
4

我正在使用pry作爲rails console使用導軌控制檯時pry-stack_explorer中的NoMethodError

每當我在控制檯中評估一些值,NoMethodErrorbindings_equal?中提出,這是一種方法pry-stack_explorer gem。輸入和輸出如下。

這不是有害的,但滋擾。我想刪除它。

任何人都可以幫忙嗎?

> bundle exec rails console 

Loading development environment (Rails 4.1.5) 

Frame number: 0/21 
[1] pry(main)> 
[2] pry(main)> 
[3] pry(main)> 1 
when_started hook failed: NoMethodError: private method `eval' called for nil:NilClass 
{My Bundle Directory}/ruby/2.1.0/gems/pry-stack_explorer-0.4.9.1/lib/pry-stack_explorer.rb:109:in `bindings_equal?' 
(see _pry_.hooks.errors to debug) 
=> 1 
[4] pry(main)> 

我使用與撬這些寶石:

gem 'pry-rails' 
gem 'pry-remote' 
gem 'pry-byebug' 

謝謝。

+0

看到這個相同的問題,而不使用真棒打印,所以下面的答案不真正幫助我的情況。不知道在您的情況下是否存在真棒打印。 – 2015-01-18 19:03:02

+0

當我遇到這個問題時,我使用了真棒打印並且在'Pry.config.print'中加入了〜/ .pryrc。在我的情況下,這個問題是由於撬動和真棒打印造成的。所以我無法解釋你的情況。 – 2015-01-19 06:29:49

回答

2

我沒有和你一樣運行相同的寶石,但是跑過同樣的錯誤。

started an issue在GitHub的項目

+0

我的問題是由相同的原因造成的。從我的'.pryrc'中刪除'Pry.config.print'會關閉錯誤。 非常感謝! – 2014-09-12 10:35:19

+2

根據[awesome_print的自述文件](https://github.com/michaeldv/awesome_print#pry-integration),爲了將pry與awesome_print集成,現在我們應該使用'AwesomePrint.pry!'而不是'Pry.config.print ' – 2014-09-12 12:45:12

2

我不得不添加

require 'awesome_print' 
AwesomePrint.pry! 

~/.pryrc(每AwesomePrint docs)來修復這個錯誤。

有些提從~/.pryrc去除Pry.config.print,但我沒有,甚至有~/.pryrc,所以纔出現,這可以通過只使用awesome_printpry一起發生。