2012-04-28 7 views
1

Мое приложение-узел отлично работает на моем macbook, но когда я публикую на наших серверах в Rackspace, я получаю следующую ошибку, которую я никогда раньше не видел (чувствительные пути заменены на [...]):jsdom и Contextify error

[...]/node_modules/jsdom/node_modules/contextify/lib/contextify.js:7 
    var ctx = new ContextifyContext(sandbox); 
      ^
TypeError: undefined is not a function 
    at Contextify ([...]/node_modules/jsdom/node_modules/contextify/lib/contextify.js:7:15) 
    at Object.createWindow ([...]/node_modules/jsdom/lib/jsdom/browser/index.js:303:3) 
    at Object.windowAugmentation ([...]/node_modules/jsdom/lib/jsdom/browser/index.js:63:24) 
    at Object.parentWindow ([...]/node_modules/jsdom/lib/jsdom/browser/index.js:605:28) 
    at Object.<anonymous> ([...]/node_modules/jsdom/lib/jsdom.js:81:15) 
    at [...]/node_modules/jsdom/lib/jsdom.js:170:52 
    at Request._callback ([...]/node_modules/jsdom/lib/jsdom.js:275:9) 
    at Request.callback ([...]/node_modules/request/node_modules/request/main.js:119:22) 
    at Request.<anonymous> ([...]/node_modules/request/node_modules/request/main.js:525:16) 
    at Request.emit (events.js:67:17) 

ответ

0

Контекст необходимо скомпилировать для создания двоичных файлов .node. Они поставляются с jsdom. Он отлично работал на моем Mac, но не на сервере ubuntu, на котором я публиковал. Повторная перестройка контекста на сервере в соответствии с инструкциями на странице github устраняет проблему для меня.