Search code examples
node.jsderbyjs

Derby.js TypeError: Object function (files)


Everytime I try to run the basic server.js that comes with a new project I ge the following errors:

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)

I have tried to re-install node.js and derby with and without the -g option and always get the same problem. Am I doing something wrong?

EDIT: Using node.js 0.8.20 and derby.js 0.3.14 on OSX 10.8.2


Solution

  • I have run into the same problem today. I don't think you are doing anything wrong. The maintainers of browserify have released a new version which I think has changed its API.

    I'm new to derby too, and not that proficient at Javascript either. I did manage to work around this problem at least for now by hacking in to {project_home}/node_modules/derby/node_modules/racer/package.json and changing the version for browserify back to something that I had working.

    "browserify": "1.17.2",
    

    Not a long term solution though.