我正在使用Rails 3.0.1,Bundler 1.0.3和Ruby 1.9.2p0(2010-08-18修订版29036)。一切都很好,很快,直到我开始添加Devise& Omniauth。从那以后,涉及初始化Bundler(在application.rb中调用Bundler.require)的所有内容花费了很长时间(通过30-50秒,这对于例如调用'rake routes'来说是很多的。)
'config / application.rb'中的时间丢失了:
Bundler.require(:default, Rails.env) if defined?(Bundler)
我试图禁用/启用宝石(比如我最后添加的宝石或所有与测试相关的宝石),但似乎这是一个涉及总宝石数量障碍的问题,而不是某些特定的编码问题。宝石。
对于最终测试,我使用新的RVM gemset创建了一个新的Rails 3.0.1项目,并逐个添加了gem。大约30-50颗宝石仍然是相同的(这对大型项目来说并不罕见,而且以前从未出现过问题)。
任何想法(除了:减少宝石数量)?
答案 0 :(得分:2)
同样的问题。适当添加gem可以通过bundler增加启动环境时间。我还没有解决这个问题。在规格运行之前大约需要20秒。 这让我很疯狂;(
答案 1 :(得分:2)
我最好的就是利用spork。它运行良好,弥补了慢启动。 Spork启动rspec / cucumber可以连接的DRB服务器,并使用预加载的ruby进程来运行测试。它为每次运行重新加载某些文件(测试,类,......),因此它几乎与新进程一样新鲜。