0

我尝试在 node.js 中运行这个简单的代码:

var YUI = require("yui3");
YUI.use(function(Y) {
console.log('asdasd');
})


但我收到以下错误:

node.js:178
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
TypeError: Cannot read property 'runInNewContext' of undefined
    at Object.<anonymous> (/usr/local/lib/node/.npm/yui3/0.5.34/package/lib/yui3-yui3.js:7:29)
        at Module._compile (module.js:404:26)
    at Object..js (module.js:410:10)
    at Module.load (module.js:336:31)
    at Function._load (module.js:297:12)
    at require (module.js:348:19)
    at /usr/local/lib/node/.npm/yui3/0.5.34/package/lib/node-yui3.js:2:16
    at Object.use (/usr/local/lib/node/.npm/yui3/0.5.34/package/lib/node-yui3.js:41:15)
    at Object.<anonymous> (/var/www/myDir/libs/nodejs-yui3/yui3_test.js:6:5)
    at Module._compile (module.js:404:26)

我怎样才能解决这个问题?

[编辑]
我正在使用:节点 v0.5.0-pre

4

2 回答 2

1

我无法重现这一点。我按照以下步骤操作:

  • 安装 YUI3:

    [BinaryMuse ~/src]: npm install yui3
    [ lots of output ... ]
    npm info build Success: yui3@0.5.34
    npm info build Success: request@1.9.5
    npm info build Success: mime@1.2.1
    npm info build Success: express@2.2.2
    npm info build Success: connect@1.3.0
    npm info build Success: qs@0.1.0
    npm info build Success: htmlparser@1.7.3
    npm info build Success: yui3-core@3.3.0
    npm info build Success: jsdom@0.2.0
    npm ok
    
  • 创建文件yui.js

    var YUI = require("yui3");
    
    YUI.use(function(Y) {
      console.log('asdasd');
    });
    
  • 运行程序:

    [BinaryMuse ~/src]: node yui.js 
    asdasd
    

我知道这并不能真正“回答”您的问题,但也许知道它有效会为您指明正确的方向。祝你好运!

[更新] 我在 Node v0.4.5 上。

于 2011-04-24T00:38:24.940 回答
0

此错误在 Node.js 0.5.0-pre 中引入,请参阅issue 203中的讨论。要解决此问题,您可以:

  1. 将节点降级到 0.4.7
  2. 或者从 yui3-yui3.js 中删除两个字符串(不知道 yui3@0.5.34,但是在 yui3@0.6.0 变量中没有用到),看这张票
于 2011-05-07T21:15:39.063 回答