I am attempting to run Nodejs with the Socket.io module. I have installed the latest version of Nodejs, and I installed socket.io from a command prompt opened as an administrator (I’m in windows 7) using the command npm install socket.io
The install appears to complete without any problems but when I attempt to run the following test program:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
I receive this error:
module.js:340
throw err;
Error: Cannot find module 'socket.io'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (C:\xampp\htdocks\HTML5Game\impact\app.js:1:72)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function .Module._load (module.js:312:12)
at Module.runMain (module.js:487:10)
In my searching I found some things about dependency problems, and some suggestions about incompatibility between socket.io and a version of Nodejs, but both were talking about older versions of socket.io and Node
Thanks.
Explanation
Go to your app directory
Delete your currently installed modules
Delete your npm cache, (some errors are caused by this)
Install modules listed in your
package.json. If you don’t have apackage.json, you can install a specific module like thisExample
In your case, if you don’t know what a
package.jsonis, please read up on it here before continuing to work on nodejs.