在“ activejob”和“ activestorage” gem中发现的漏洞。更新方法不起作用

时间:2018-11-28 21:12:22

标签: ruby-on-rails rubygems rails-activejob rails-activestorage

我有一个错误消息说我存在漏洞,我需要在Rails应用程序中将activejobactivestorage更新为>= 5.2.1.1

所以在我的Gemfile中,

gem 'activejob', '<= 5.2.1.1'
gem 'activestorage', '<= 5.2.1.1'

我跑了

bundle update activejob
bundle update activestorage

我之所以使用<=是因为我有些依赖项依赖于activejobactivestorage的旧版本。它不适用于5.2.1.1版本。而且我无法更新这些gem,因为这可能会导致我的应用程序此时中断。

当我运行bundle audit --update时,它仍然说我具有相同的漏洞,应该升级。

运行bundle install后,这就是我的Gemfile.lock

GEM
  specs:
    activejob (5.2.0)
      activesupport (= 5.2.0)
      globalid (>= 0.3.6)
    activestorage (5.2.0)
      actionpack (= 5.2.0)
      activerecord (= 5.2.0)
      marcel (~> 0.3.1)

DEPENDENCIES
  activejob (<= 5.2.1.1)
  activestorage (<= 5.2.1.1)

我无法删除自己的Gemfile.lock并运行bundle install。我也无法运行bundle update,因为我有不想更新的gem。它可能会破坏应用程序。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

ActiveJob和ActiveSupport取决于您的Rails版本。

如果您的滑轨(或与此相关的在AJ和AS上受限制的其他任何宝石)版本(可能是5.0)被锁定并限制了ActiveJob和ActiveStorage的版本,那么它将覆盖您在这两个宝石的gemfile。

我冒昧地猜测您需要将rails更新到5.1并进行捆绑更新,但是很难看到完整的gemfile / gemfile.lock