升级到Rails 5.0.0.1后`未初始化的常量Sidekiq :: Rails :: Reloader`
问题描述:
我刚从Rails 4.2.6升级到Rails 5.0.0.1。我有Sidekiq UI下面的配置,config/routes.rb
:升级到Rails 5.0.0.1后`未初始化的常量Sidekiq :: Rails :: Reloader`
if Rails.application.queuing_enabled?
require 'sidekiq/web'
Sidekiq::Web.set :session_secret, Rails.application.secrets[:secret_key_base]
authenticate :user, ->(u) { u.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
end
的Rails.application.queuing_enabled?
的价值永远是true
在production
模式,但在false
和development
test
。
升级之后,我对着下面的错误,当我运行在我的本地任何东西(试图运行rspec
,rails middleware
等):
rails aborted!
NameError: uninitialized constant Sidekiq::Rails::Reloader
/home/project/config/routes.rb:66:in `block in <top (required)>'
/home/project/config/routes.rb:2:in `<top (required)>'
/home/project/config/environment.rb:6:in `<top (required)>'
/home/project/bin/rails:9:in `require'
/home/project/bin/rails:9:in `<top (required)>'
/home/project/bin/spring:13:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => middleware => environment
(See full trace by running task with --trace)
我Gemfile.lock
有Sidekiq以下的版本信息。
sidekiq (4.2.7)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
sidekiq-limit_fetch (3.4.0)
sidekiq (>= 4)
任何帮助,非常感谢。谢谢!
答
显然,这是Sidekiq 4.2.7的一个bug,它将在下一个版本中得到解决。
有关更多详细信息,请参阅https://github.com/mperham/sidekiq/issues/3275。