undefined yöntemi `` transform_keys '' Sidekiq web yükleniyor


24

Taşları güncelledikten sonra, sidekiq web sitesini aşağıdaki hatayı vererek yüklemez:

NoMethodError (undefined method `transform_keys' for <ActionDispatch::Request::Session:0x00005568df2a8710>):

Güncellenen taşlar:

selenium-webdriver 3.142.7
rack-protection 2.0.8.1
mime-types 3.3.1
 mini_magick 4.10.1
image_processing 1.10.3
groupdate 4.3.0
friendly_id 5.3.0
faraday 0.17.3
http 4.3.0
public_suffix 4.0.3
rack 2.1.1
crass 1.0.6
i18n 1.7.1
minitest 5.14.0

yakut versiyonu: yakut 2.6.0p0 (2018-12-25 revizyon 66547) [x86_64-linux]

Tam hata mesajı


1
Hangi Ruby ve Ruby on Rails sürümünü kullanıyorsunuz?
spickermann

@spickermann soruyor çünkü Hash # transform_keys Ruby çekirdeğine oldukça yakın zamanda v2.5'te eklendi.
Cary Swoveland

@spickermann ruby ​​2.6.0p0 (2018-12-25 revizyon 66547) [x86_64-linux]
rhugo

@rhugo Yığın izini ve istisnayı tetikleyen kodu içeren tam hata iletisini gönderebilir misiniz (hatanın uygulamanızda nerede oluştuğunu belirlemek için yığın izlemeye bakın).
spickermann

@spickermann Günlüğe bir resim ekledim, mesaja çok fazla kod eklememe izin vermiyor
rhugo

Yanıtlar:


36

Rack 2.1.1 ile ilgili bir sorun gibi görünüyor. 2.0.8 ile sorunsuz çalışıyor.


6
Birkaç saat önce piyasaya sürülen Rack 2.1.2'de düzeltildi.
Mike A.

1
Rack 2.1.2'ye güncelledim ancak Sidekiq boş sayfalar oluşturuyor. 2.0.8'e düşürmek tekrar çalışmasını sağlar. Burada daha fazla sorun: github.com/rack/rack/issues/1531
dolarsrg


8

Güncelleme: Raf 2.1.2 yayınlandı ve bu hatayı çözdü

Şimdi çözüm 2.1.2 veya üstünü kullandığınızdan emin olmaktır.

bundle update rack

Gemfile geri kalanına bağlı olarak sizin için hile yapabilir.


Eski cevap

Bunu çözmek için iki seçenek.

  • Önceki bir çalışma sürümünü yükleyin (önerilir). Bu, 2.0.X şubesine en son sürümü yükleyecektir:
gem 'rack', '~> 2.0.0'
  • Git deposunun kendisinden sabit sürümü yükleyin
gem 'rack', github: 'rack/rack', ref: 'f690bb71425aa31d7b9b3113829af773950d8ab5'

Her iki durumda da, bu gerçekleştiğinde bunu uygun sabit sürümle kaldırmalı / değiştirmelisiniz. Takip edin https://github.com/rack/rack/pull/1428


5

Benim için, bu satırı bu satırı ekleyerek çözdüm Gemfile

gem 'rack', '2.0.7'

Eğer varsa Gemfile.lockyerel, bunu silin ve sonra çalıştırabilirsiniz bundle install.

Capistrano kullanıyorsanız, bundle installmanuel olarak çalıştırmanız gerekmez ve Gemfile.lockgenellikle deponuzda bulunmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.