assets:precompile和capistrano在本地运行但不在服务器上运行

时间:2013-04-19 15:38:41

标签: ruby-on-rails deployment ember.js capistrano asset-pipeline

我正在使用capistrano将Rails应用程序部署到vps服务器。

在上次更新之前一切正常。当capistrano运行assets:precompile时,我现在收到错误:

rake aborted!
TypeError: Object function (deps, callback) {
if (Array.isArray(deps)) {
var params = deps.map(function(dep) {
return this.lookup(dep);
}, this);
if (callback) {
callback.apply(null, params);
}
return undefined;
}
else {
return this.lookup(deps);
}
} has no method 'bind'

当我使用--trace选项运行时,我得到了这个:

https://gist.github.com/NicosKaralis/5421153#file-cap-deploy

它没有说明问题出在哪里,当我在本地计算机上运行相同的命令时,它运行正常。

我的机器是Max OS X,我的服务器是Ubuntu 10.10

我做错了什么,如何解决?

修改

我的application.jshttps://gist.github.com/NicosKaralis/5422877#file-gistfile1-txt

2 个答案:

答案 0 :(得分:0)

显然这是由服务器上的一些旧宝石引起的。

我删除所有内容并重新开始后,它正常工作。

答案 1 :(得分:0)

我遇到了同样的问题。将以下行添加到我的Gemfile为我工作:

gem 'therubyracer', require: 'v8'