วิธีที่ไม่ได้กำหนด `loading_keys 'กำลังโหลดเว็บ Sidekiq


24

หลังจากอัปเดตพลอยแล้วจะไม่โหลดเว็บไซต์ sidekiq ที่ให้ข้อผิดพลาดดังต่อไปนี้:

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

อัญมณีที่ได้รับการอัพเดต ได้แก่ :

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

รุ่น ruby: ruby ​​2.6.0p0 (2018-12-25 รุ่นที่แก้ไข 66547) [x86_64-linux]

ข้อความแสดงข้อผิดพลาดแบบเต็ม


1
คุณใช้ Ruby และ Ruby on Rails เวอร์ชั่นใด
spickermann

@spickermann กำลังถามเพราะHash # transform_keysถูกเพิ่มใน Ruby core ค่อนข้างเร็ว ๆ นี้ใน v2.5
Cary Swoveland

@spickermann ruby ​​2.6.0p0 (2018-12-25 ฉบับแก้ไข 66547) [x86_64-linux]
rhugo

@rhugo คุณช่วยกรุณาโพสต์ข้อความแสดงข้อผิดพลาดเต็มรูปแบบรวมถึงการติดตามสแต็คและรหัสที่ก่อให้เกิดข้อยกเว้น (ดูสแต็คการติดตามเพื่อระบุว่าข้อผิดพลาดเกิดขึ้นในใบสมัครของคุณ)
spickermann

@ spickermann ฉันได้เพิ่มรูปภาพพร้อมไฟล์บันทึกแล้วมันไม่ได้ให้ฉันใส่รหัสมากมายในข้อความ
rhugo

คำตอบ:


36

ดูเหมือนว่าจะมีปัญหากับ Rack 2.1.1 มันทำงานได้ดีกับ 2.0.8


6
มันได้รับการแก้ไขใน Rack 2.1.2 ซึ่งเพิ่งเปิดตัวเมื่อไม่กี่ชั่วโมงที่ผ่านมา
Mike A.

1
ฉันได้อัปเดตเป็น Rack 2.1.2 แล้ว แต่ Sidekiq แสดงผลหน้าเปล่า ปรับลดรุ่นเป็น 2.0.8 makets เพื่อให้ทำงานได้อีกครั้ง ปัญหาเพิ่มเติมที่นี่: github.com/rack/rack/issues/1531
dolarsrg


8

อัปเดต: Rack 2.1.2 เปิดตัวแล้วและแก้ไขข้อผิดพลาดนี้ได้

ตอนนี้โซลูชันกำลังทำให้แน่ใจว่าคุณใช้ 2.1.2 หรือสูงกว่า

bundle update rack

อาจทำเคล็ดลับให้คุณขึ้นอยู่กับ Gemfile ที่เหลือ


คำตอบเก่า

สองตัวเลือกเพื่อแก้ปัญหานี้

  • ติดตั้งรีลีสการทำงานก่อนหน้า (แนะนำ) สิ่งนี้จะติดตั้งรีลีสล่าสุดบนสาขา 2.0.X:
gem 'rack', '~> 2.0.0'
  • ติดตั้งรุ่นคงที่จากที่เก็บ git เอง
gem 'rack', github: 'rack/rack', ref: 'f690bb71425aa31d7b9b3113829af773950d8ab5'

ในทั้งสองกรณีคุณควรลบ / แทนที่สิ่งนี้ด้วยรีลีสคงที่ที่เหมาะสมเมื่อเกิดเหตุการณ์นี้ขึ้น ติดตามhttps://github.com/rack/rack/pull/1428


5

สำหรับฉันฉันแก้ไขปัญหานี้โดยเพิ่มบรรทัดนี้ Gemfile

gem 'rack', '2.0.7'

ถ้าคุณมีในท้องถิ่นคุณสามารถลบและทำงานแล้วGemfile.lockbundle install

หากคุณใช้ Capistrano คุณไม่จำเป็นต้องเรียกใช้bundle installด้วยตนเองและGemfile.lockมักไม่มีอยู่ในที่เก็บของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.