2

Я использую capistrano для развертывания приложения Rails на сервере vps.активы: precompile и capistrano запускаются локально, но не на сервере

Все работает нормально до последнего обновления. Когда 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

Что я делаю неправильно и как я могу это исправить?

EDIT

application.js Мой: https://gist.github.com/NicosKaralis/5422877#file-gistfile1-txt

+0

Можем ли мы увидеть ваш 'application.js'? Является ли код субъекта написанным вами или он представляется внешней библиотекой (jquery или аналогичным)? –

+0

Проверьте мои изменения. Я не думаю, что понимаю, что вы задали –

+0

Ваш 'application.js' выглядит хорошо. Помимо темы, рекомендуется отделить часть манифеста от js-кода. В вашем случае вы можете переместить js-процедуры в отдельный файл js в 'app/assets/javascripts'. Я спрашивал, можете ли вы найти код javascript, указанный в сообщении об ошибке? Или это часть некоторой библиотеки, например jQuery или ember? –

ответ

0

Видимо, это было вызван некоторыми старыми драгоценными камнями на сервере.

После того как я удалил все и начал работу, он работает нормально.

+0

Было ли что-нибудь еще, что вы сделали, чтобы заставить это работать? Я испытываю одну и ту же проблему, но уничтожение старых драгоценных камней не помогло –

+0

, потому что моя проблема была критической, мне было проще просто стереть vps и начать все сначала, но в соответствии с тем, что я нашел, если вам удастся удалить все драгоценные камни и рубины отовсюду и установить их снова, это должно (технически) работать –

0

Я столкнулся с этой проблемой. Добавление следующей строки в моей Gemfile работал для меня:

gem 'therubyracer', require: 'v8'

+0

Мне не нужен этот драгоценный камень, потому что у моей производственной среды уже есть nodejs. проблема была в Gemfile.lock, некоторые конфликты с драгоценными камнями. –

+0

У моего сервера также был установлен узел, но он все еще запутывался. Я добавил этот ответ, чтобы он каким-то образом помог другим людям, которые приземлились на этот вопрос с соответствующей проблемой. –

Смежные вопросы