错误:找不到模块'socket.io'

[~]# node node.js Error: Cannot find module 'socket.io' [~]# node -v v0.10.10 

socket.io安装:

 npm install socket.io npm WARN package.json policyfile@0.0.4 No repository field. npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported. npm WARN package.json Please pick one as the 'repository' field 

看起来您已经在当前path的不同位置安装了socket.io 。 或者像下面这样全局安装:

npm install -g socket.io

或者将您安装的位置引用到:

 var io = require('../lib/socket.io'); 

感谢ajtrichards!

只是添加到答案 – 万一你简单的使用

 sudo npm install socket.io 

安装path将会是

 /home/.../.npm/socket.io 

如果你使用sudo npm install -g socket.io

安装path将会是

 /usr/local/lib/node_modules/socket.io 

在第一种情况下,我尝试在全局pathvariables中添加socket.iopath,但它不起作用。

我在Windows上遇到了与0.12.0版本相同的问题。 我试过npm install -g socket.io但是没有改变任何东西。 也尝试npmcaching清理也没有改变,但在npm更新npm -g后 ,事情变好了。

这几乎发生,比你试图让你的html文件中的socket.io像:

的index.html

你在哪里:

  < script type="text/javascript" src="/socket.io/socket.io.js"></script> 

它不会findsocket.io,因为你没有启动你的应用程序文件模块,其中包含的服务器像

server.js

server.js中启动服务器之后,您必须包含以下行:

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

希望,会节省时间。

我认为你已经在不同的位置执行了命令npm install socket.io ,并且你的文件位于不同的目录中。所以要么在有你的文件的同一个目录下运行这个命令,要么提到你当前安装的socket的path.io在你的PATHvariables中。