Ruby on rails 3.1 从Rails 3.0.9升级到3.1.0时,bundler ruby进程在Mac上消耗99%的CPU

Ruby on rails 3.1 从Rails 3.0.9升级到3.1.0时,bundler ruby进程在Mac上消耗99%的CPU,ruby-on-rails-3.1,bundler,Ruby On Rails 3.1,Bundler,我已经试过几次了。我使用rvm,我使用的ruby是REE1.8.7。在更改我的文件后运行“bundle update”会使处理器几乎100%挂起。它已经运行了一个多小时了。有什么特别的事情我需要做吗?我想出了如何调试它,从而能够解决我的问题 简短版本(基于我对bundler的肤浅了解): bundle update或bundle install都会查看GEM文件,然后尝试解析指定GEM的依赖关系。这是导致您的CPU烧坏的步骤,最有可能的情况是(它应该在打印获取源索引之后)http://ruby

我已经试过几次了。我使用rvm,我使用的ruby是REE1.8.7。在更改我的文件后运行“bundle update”会使处理器几乎100%挂起。它已经运行了一个多小时了。有什么特别的事情我需要做吗?

我想出了如何调试它,从而能够解决我的问题

简短版本(基于我对bundler的肤浅了解):

  • bundle update
    bundle install
    都会查看GEM文件,然后尝试解析指定GEM的依赖关系。这是导致您的CPU烧坏的步骤,最有可能的情况是(它应该在打印
    获取源索引之后)http://rubygems.org/
我遇到的是,有时Bundler会陷入一个无限循环(或者,至少比我等待的时间更长)中,试图解决冲突的需求。在我的例子中,两个不同的gem都需要具有不同版本需求的第三个gem

出于某种原因,bundler陷入了一个无休止的循环(或一个非常长的循环)中,试图解决依赖关系

我基本上在github上发现了这个问题:

这让我尝试了以下命令:

DEBUG\u RESOLVER=1包安装

运行它产生了足够的输出,让我能够识别使绑定器困惑的gem依赖项。在我的例子中,两个不同的gem需要不同版本的builder gem

我通过指定适用于两种gem的builder版本修复了它:

gem'builder','~>3.0.0'

这就解决了问题,下次我运行安装或更新时,它在合理的时间内完成


我希望这能帮助你解决问题。

你解决过这个问题吗?这件事刚开始发生在我身上。。。