Ruby 'require bunny' 触发了一个看起来像循环 require 的东西

问题描述 投票:0回答:1

这个案子难倒我了。我正在编写一个非常简单的 Sinatra 应用程序,它导致了一个看起来像循环需求的问题,特别是

require "bunny"
。顺便说一句,这是经过大量试验、移动代码、注释掉等等的一些证据:

如您所见,我在 require 语句之前放置了一个断点:

rake test
[MAINAPP Starting! Rack: test]
/Users/pitosalas/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.12/lib/sqlite3/pragmas.rb:301: warning: method redefined; discarding old integrity_check
/Users/pitosalas/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.12/lib/sqlite3/pragmas.rb:107: warning: previous definition of integrity_check was here

[1, 10] in /Volumes/MonsterHD/mydev/nanotwitter/services/nt_service.rb
    1: require 'byebug'
    2: require_relative "../services/service_dispatch"
    3:
    4: byebug
=>  5: require 'bunny'
    6:
    7: class NtService
    8:   def initialize
    9:     @requests = 0
   10:     @running = false

现在我验证Bunny类还没有定义:

(byebug) Bunny
*** NameError Exception: uninitialized constant Bunny

nil
(byebug) next

现在我越过“要求”,一切都乱套了。一个非常长且明显重复的堆栈跟踪,其中包括引用循环要求的错误。以下是所有详细信息:https://gist.github.com/pitosalas/de54212ddeac66328c02d64156845c8c

接下来我可以尝试什么?

ruby rubygems sinatra
1个回答
1
投票

这样试试

gem install bunny

我想这会解决你的问题。

或者升级你的红宝石版本

require "bunny"
© www.soinside.com 2019 - 2024. All rights reserved.