【问题标题】:problem with rack 1.3.2. You have already activated rack 1.3.2, but your Gemfile requires rack 1.2.3机架 1.3.2 的问题。你已经激活了 rack 1.3.2,但是你的 Gemfile 需要 rack 1.2.3
【发布时间】:2011-11-11 12:12:09
【问题描述】:

我在 debian 上有乘客 3.0.9,gem rack 1.3.2 和 1.2.1。

使用带有载客 e 捆绑器的 rails 3.0 应用程序时出现此错误:

您已经激活了 rack 1.3.2,但是您的 Gemfile 需要 rack 1.2.3。考虑使用 bundle exec。

使用 rails 3.1 一切正常。我无法使用 rails 3.0 启动应用程序,但只能使用 3.1。

Passnnger 加载第一个机架 1.3.2 并且不要将机架 1.2.3 加载到 bundler 的 gem 上

【问题讨论】:

  • 您可以进入有问题的应用程序的 Gemfile.lock 文件并在那里手动更改版本。
  • 我不会手动编辑 Gemfile.lock 文件。它是基于您的 Gemfile 由 bundle install 生成的。

标签: ruby-on-rails ruby rack


【解决方案1】:

对我有用的是:

  1. 清除您的Gemfile.lock
  2. 运行bundle install

问题已解决。

【讨论】:

    【解决方案2】:

    5 whys 对您的问题的回复是:

    Phusion Passenger 使用的不是您的应用程序捆绑的 gem,而是另一组 gem。

    这可能是因为许多不同的原因,但所有这些都与您的特定系统(操作系统、apache/nginx、ruby、环境变量...)有关。

    • 确保您的 Gemfile 正确(尤其是“源”行)
    • 知道哪个用户正在运行您的 Phusion Passenger(通常与您的 Web 服务器相同)
    • 为该用户强制使用捆绑路径

      BUNDLE_PATH: /home/xxxxxxx/.bundler 到 RAILS_ROOT/.bundle/config

    • 甚至更好地使用捆绑部署选项在供应商/捆绑中安装 gems

      捆绑安装--部署

    【讨论】:

      【解决方案3】:

      简答:

      你需要运行

      bundle update rack
      

      这将更新您在 Gemfile.lock 中的机架版本

      更长的答案:

      当您激活的 rack/rake 版本与您的 rails 应用的 rack/rake 版本不同时,通常会发生此错误。当您运行“捆绑安装”时,由于依赖关系,一些关键的 gem 不会得到更新。

      这就是为什么您需要运行“bundle update”(适用于所有 gem)或“bundle update a_specific_gem”来更新 Gemfile.lock 中的某个 gem,例如 rack/rake。

      【讨论】:

        【解决方案4】:

        我最近与一位客户在 Dreamhosters.com 上遇到了这个确切的问题。我相信我所做的是更新我的 Gemfile 以指定已经“激活”的版本,然后重建 Gemfile.lock。

        就我而言,问题在于 rails 在我的本地 gem 之前找到了系统 gem,并且无法优雅地处理冲突。它是在 3.0.3 上,我在使用 rvm 并且根本没有安装系统 ruby​​/rails 的开发盒上没有同样的问题。

        我不知道这会解决您的问题,但它至少可以为您提供进一步研究的起点。我通过谷歌搜索错误消息找到了很多链接。

        【讨论】:

        • 我尝试使用 gem 'rake', '~> 0.8.7' gem 'rack', '~> 1.3.2' gem 'rails', '3.0.5' 和之后的 bundle exec rack 我给这个依赖 rails (= 3.0.5) 依赖 rack (~> 1.2.1) rack (1.3.2) 我必须手动更改 Gemfile.lock?
        • 不,您实际上可以删除 Gemfile.lock。将版本要求放在 Gemfile 中,当您进行捆绑安装时,它将生成 Gemfile.lock。
        猜你喜欢
        • 2011-11-06
        • 2015-10-24
        • 2011-09-13
        • 2015-11-21
        • 2015-09-19
        • 2017-08-22
        • 1970-01-01
        • 2013-01-07
        • 2017-08-29
        相关资源
        最近更新 更多