【发布时间】:2018-09-28 16:00:32
【问题描述】:
我有一个 Rails 4.2.1 项目,它需要一个依赖于 openssl 2.1.1 的 gem。我的红宝石版本是 2.3.1。当我添加 openssl gem 时,我加载的任何页面都会出现以下错误:
lib/active_support/message_encryptor.rb:100: warning: constant OpenSSL::Cipher::Cipher is deprecated
ArgumentError (key must be 32 bytes):
activesupport (4.2.1) lib/active_support/message_encryptor.rb:72:in `key='
activesupport (4.2.1) lib/active_support/message_encryptor.rb:72:in `_encrypt'
activesupport (4.2.1) lib/active_support/message_encryptor.rb:58:in `encrypt_and_sign'
actionpack (4.2.1) lib/action_dispatch/middleware/cookies.rb:527:in `[]='
actionpack (4.2.1) lib/action_dispatch/middleware/session/cookie_store.rb:110:in `set_cookie'
rack (1.6.10) lib/rack/session/abstract/id.rb:351:in `commit_session'
rack (1.6.10) lib/rack/session/abstract/id.rb:226:in `context'
rack (1.6.10) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.2.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
是否有任何解决方法可以使两者兼容?
【问题讨论】:
标签: ruby-on-rails-4 openssl activesupport