2012-04-28 4 views
1

私のノードアプリケーションはMacBookでうまく動作しますが、私がRackspace上のサーバに公開すると、これまでに見たことのない次のエラーが発生します(機密パスが[...]に置き換えられました):jsdomとContextifyエラー

[...]/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バイナリを作成するには、Contextifyをコンパイルする必要があります。これらはjsdomであらかじめ作られています。私のMacでは正常に動作しましたが、私が公開していたubuntuサーバーでは動作しませんでした。 githubページの指示に従ってサーバー上でcontextifyを再構築すると、問題が解決しました。

関連する問題