1

ノード アプリケーションは Macbook で正常に動作しますが、Rackspace のサーバーに公開すると、これまでに見たことのない次のエラーが表示されます (重要なパスが [...] に置き換えられました)。

[...]/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)
4

1 に答える 1

0

.node バイナリを作成するには、Contextify をコンパイルする必要があります。これらは jsdom で事前に構築されています。私のMacではうまくいきましたが、公開していたubuntuサーバーではうまくいきませんでした。githubページの指示に従ってサーバー上でcontextifyを再構築すると、問題が解決しました。

于 2012-04-29T00:02:15.780 に答える