每当我尝试运行新项目附带的基本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
答案 0 :(得分:0)
我今天遇到了同样的问题。我不认为你做错了什么。 browserify的维护者发布了一个新版本,我认为它已经改变了它的API。
我也是德比新手,也不是那些精通Javascript的人。我确实设法解决这个问题至少目前是通过入侵{project_home} /node_modules/derby/node_modules/racer/package.json并将browserify的版本更改回我曾经工作过的东西。
"browserify": "1.17.2",
虽然不是长期解决方案。