这是一个常见的问题,但是似乎没有任何答案可以解决问题。我得到通常的:You have already activated rack 1.4.1, but your Gemfile requires rack 1.3.6. Using bundle exec may solve this.
清除Gemlock文件无济于事,再次运行bundle install无济于事...运行bundle install --binstubs不能解决问题,因为“从您的应用程序根目录运行./bin/{rake|rails|etc}”只会引起更多错误。有没有办法解决这个明显的普遍问题?

最佳答案

问题是这样的:

  • 您已经(至少)安装了两个版本的Rack。
  • 您的Gemfile要求使用一个版本(1.3.6)。您当前的环境正在提供另一个版本(1.4.1)。
  • 在您的应用程序执行时,当前环境已加载1.4.1。
  • Bundler知道您需要加载1.3.6,但无法加载。您可能无法加载同一个gem的一个以上版本,所以从1.4.1版本开始加载以来,它就获胜了。
  • Bundler向您抱怨。

  • 卸载有问题的 gem (例如gem uninstall rack -v 1.3.6)。更好的是,使用RVM和gemsets更好地隔离您的gem,您不会遇到此问题。

    关于ruby-on-rails - 如何强制 Rack 解决常见的 “You have already activated rack…”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9241912/

    10-13 09:14