首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Socket.io错误

Socket.io错误
EN

Stack Overflow用户
提问于 2012-06-30 01:50:35
回答 7查看 27K关注 0票数 7

我正在尝试使用Socket.io模块运行Nodejs。我已经安装了最新版本的Nodejs,并从以管理员身份打开的命令提示符(我在Windows7中)使用npm install socket.io命令安装了socket.io,安装似乎没有任何问题,但当我尝试运行以下测试程序时:

代码语言:javascript
复制
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);
  });
});

我收到这个错误:

代码语言:javascript
复制
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)

在我的搜索中,我发现了一些关于依赖问题的东西,以及一些关于socket.io和Nodejs版本之间不兼容的建议,但这两个版本都是关于旧版本的socket.io和节点感谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-30 02:02:36

代码语言:javascript
复制
cd app
rm -rf node_modules
npm cache clean
npm install

解释

代码语言:javascript
复制
cd app

转到您的应用程序目录

代码语言:javascript
复制
rm -rf node_modules

删除当前安装的模块

代码语言:javascript
复制
npm cache clean

删除您的npm缓存(这会导致一些错误)

代码语言:javascript
复制
npm install

安装package.json中列出的模块。如果您没有package.json,可以像这样安装一个特定的模块

代码语言:javascript
复制
npm install <module_name>

示例

代码语言:javascript
复制
npm install socket.io

在您的例子中,如果您不知道什么是package.json,请在继续使用nodejs之前先阅读它的here

票数 27
EN

Stack Overflow用户

发布于 2012-11-07 19:53:52

我必须通过以下方式解决这个问题。

1)我在下面的文件夹中放了一个测试程序。

c:\program files\nodejs\node_modules

在这种情况下,源代码如下所示。

代码语言:javascript
复制
var io = require('socket.io').listen(80);

2)指定socket.io的完整路径。

c:>dir /xenter

然后,我输入以下命令来获取"progra~1“。

代码语言:javascript
复制
var io = require("c:/progra~1/nodejs/node_modules/socket.io").listen(80);
票数 5
EN

Stack Overflow用户

发布于 2013-01-03 19:22:36

如果你想在多个项目中使用一个模块,或者有干净的项目目录,你可以在npm命令中添加"-g“参数。如下所示:

代码语言:javascript
复制
npm install socket.io -g
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11266608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档