"You are connecting to Redis v3.2.9, Sidekiq requires Redis v4.0.0 or greater?"

"You are connecting to Redis v3.2.9, Sidekiq requires Redis v4.0.0 or greater?"

我最近在我的 Gemfile 中更新了 Sidekiq:

gem 'sidekiq', '~> 6.0', '>= 6.0.4'
gem 'redis', '~> 4.1', '>= 4.1.3'

但是自从更新后,我在终端中 运行 sidekiq 时收到此错误:

You are connecting to Redis v3.2.9, Sidekiq requires Redis v4.0.0 or greater.

我确保卸载了 Sidekiq 和 Redis 的旧版本,但 Sidekiq 仍在尝试连接到 3.2.9。我的 Gemfile.lock 有:

sidekiq (6.0.4)
  connection_pool (>= 2.2.2)
  rack (>= 2.0.0)
  rack-protection (>= 2.0.0)
  redis (>= 4.1.0)

我是不是误读了这个错误?我如何告诉 Sidekiq 使用正确版本的 Redis?

这不是 gem 依赖性问题。我 运行 brew upgrade redis,重新启动 redis-server,然后修复了它。

对我来说,问题是 bundle exec foreman s 使用了指定的 Redis 版本 here。使用 6.2.5 进行 Monkey 修补有帮助,但正确的修复方法是将您的 Redis 版本固定在 app_config.yml:

redis:
    <<: *redis
    version: 4.2.0 # or the version you are using