找不到模块socket.io

我对nodejs和socket.io非常陌生。 当时我对nodejs一无所知。 我遇到了一个可怕的错误。

我的整个安装nodejs的步骤(在Windows 7上):

- Access nodejs.org and click to their green download button. - Install nodejs in F:/nodejs - Install socket.io with command npm install socket.io - Install node supervisor with command npm install supervisor -g 

就这样。 然后我尝试用这行代码使用socket.io:

 var io = require('socket.io').listen(app); 

并输出一个错误:

 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:364:17) at require (module.js:380:17) at Object.<anonymous> (F:\nodejs\chat.js:8:10) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) 

我已经尝试了所有build议的方法,如清理caching,重新安装nodejs或更改socket.io模块path。 不幸的是,所有这些解决scheme都没有解决这个问题。

这个可怕的错误杀了我整整一天。 我非常感谢任何帮助。

尝试在您的node.js文件所在的文件夹(需要模块的位置)执行npm install socket.io 。 无论你执行npm install socket.io ,npm都会创build一个文件夹node_modules ,你可能没有在正确的文件夹中执行此操作。

npm install supervisor -g确实起作用,因为-g是全局标志,你可以在任何地方做到这一点。

问题是由npm install socket.io安装的软件包不仅是模块本身,而且还带来了一些示例和更多的东西。

安装时,npm会创build一个node_modules文件夹。 在该文件夹中,有一个名为socketio的文件夹。 里面有一个名为node_modules文件夹。 在这个里面有一个名为socket.io的文件夹。 将此文件夹( socket.io )移动或复制到脚本所在的第一个node_modules文件夹中。 等voilla,它的作品!

文件夹级别