【发布时间】:2013-04-19 15:38:41
【问题描述】:
我正在使用 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.js:https://gist.github.com/NicosKaralis/5422877#file-gistfile1-txt
【问题讨论】:
-
我们能看到你的
application.js吗?主题代码是您编写的还是看起来是外部库(jquery 或类似)? -
检查我的编辑。我想我不明白你问了什么
-
您的
application.js看起来不错。除主题外,建议将清单部分与 js 代码分开。在您的情况下,您可以将 js 例程移动到app/assets/javascripts的单独 js 文件中。我在问您是否可以找到错误消息中显示的 javascript 代码?或者它是 jQuery 或 ember 等库的一部分? -
我在任何地方都找不到它。我在开发模式下打开页面,可以看到纯js,并没有看到这段代码。我认为这是一些库代码,可能是 emberjs
-
我会建议更新 js 库。如果你依赖
ember-railsgem ,请尝试更新它。
标签: ruby-on-rails deployment ember.js capistrano asset-pipeline