0

每次我尝试运行新项目附带的基本 server.js 时,都会出现以下错误:

node server.js

Master pid 5078
   info  - socket.io started
5079 listening. Go to: http://localhost:3000/

../node_modules/derby/node_modules/racer/lib/racer.server.js:115
  callback(err, value + ';' + browserify.bundle(options));
                                         ^
TypeError: Object function (files) {
    return new Browserify(files);
} has no method 'bundle'
    at racer.js (../node_modules/derby/node_modules/racer/lib/racer.server.js:115:46)
    at module.exports (../node_modules/derby/node_modules/racer/node_modules/socket.io-client/bin/builder.js:244:7)
    at fs.readFile (fs.js:176:14)
    at Object.oncomplete (fs.js:297:15)

我尝试使用和不使用 -g 选项重新安装 node.js 和 derby,但总是遇到同样的问题。难道我做错了什么?

编辑:在 OSX 10.8.2 上使用 node.js 0.8.20 和 derby.js 0.3.14

4

1 回答 1

0

我今天遇到了同样的问题。我不认为你做错了什么。browserify的维护者发布了一个新版本,我认为它改变了它的 API。

我也是 derby 的新手,对 Javascript 也不是很精通。我确实设法解决了这个问题,至少现在通过侵入 {project_home}/node_modules/derby/node_modules/racer/package.json 并将 browserify 的版本更改回我曾经工作过的东西。

"browserify": "1.17.2",

虽然不是一个长期的解决方案。

于 2013-02-22T18:40:10.457 回答