新版Rake Pipeline不喜欢我的config.ru

时间:2013-01-24 02:20:34

标签: ember.js rack rake-pipeline

我正在开发一个使用ember-skeleton构建的Ember.js项目(大约0.9.8.x,如果重要的话)。我最近错误地运行bundle update并且我的rake-pipeline版本从0.6.0跃升到0.8.0,当我向开发服务器发出请求时出现此错误:

   /年的NoMethodError   undefined方法`invoke'代表“Assetfile”:String

具体错误来自:

  

〜/ .rvm / gems / ruby​​-1.9.3-p125 @ project / bundler / gems / rake-pipeline -ee992cbcda51 / lib / rake-pipeline / middleware.rb:in call,line 32

但我猜它真正的开始是config.ru的前几行:

require 'rake-pipeline'
require 'rake-pipeline/middleware'
use Rake::Pipeline::Middleware, 'Assetfile'

堆栈跟踪似乎根本不会触及我的代码;事实上,如果我正确理解了这个错误,它甚至不会触及我的Assetfile

这是一个错误,还是在rake-pipeline中做了一些改变?降级rake-pipeline会更容易(如果是,到哪里?)或者我可以在config.ru中修复哪些内容?

ETA:我在rake-pipeline项目历史中一次又一次地提交了几十个提交。回到the end of October,我得到了不同的错误:

   / _的TypeError   无法将Fixnum转换为字符串

     

〜/ .rvm / gems / ruby​​-1.9.3-p125 @ project / bundler / gems / rake-pipeline-986129d378a6 / lib / rake-pipeline / manifest_entry.rb:9:in`parse'

当我跳all the way back to April 2012时,我得到一个正常工作的版本。所以我的项目重新开始了,但我很想知道是什么爆炸了。

1 个答案:

答案 0 :(得分:2)

问题在于rake-pipeline now expects a Rake::Pipeline::Project object as an argument, not a string.config.ru取代use Rake::Pipeline::Middleware, Rake::Pipeline::Project.new('Assetfile') 的第三行使其有效:

{{1}}

谢谢,GitHub!