我试图用Socket.io模块运行Nodejs.我已经安装了最新版本的Nodejs,我从管理员打开的命令提示符(我在Windows 7中)使用命令npm install socket.io安装了socket.io安装似乎完成没有任何问题但是当我尝试运行以下测试程序:
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);
});
});
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
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)
Run Code Online (Sandbox Code Playgroud)
在我的搜索中,我发现了一些关于依赖性问题的事情,以及关于socket.io和Nodejs版本之间不兼容的一些建议,但两者都在讨论旧版本的socket.io和Node Thanks.
Pav*_*ara 27
cd app
rm -rf node_modules
npm cache clean
npm install
Run Code Online (Sandbox Code Playgroud)
cd app
Run Code Online (Sandbox Code Playgroud)
转到您的app目录
rm -rf node_modules
Run Code Online (Sandbox Code Playgroud)
删除当前安装的模块
npm cache clean
Run Code Online (Sandbox Code Playgroud)
删除你的npm缓存,(由此导致一些错误)
npm install
Run Code Online (Sandbox Code Playgroud)
安装你的模块package.json.如果您没有package.json,可以安装这样的特定模块
npm install <module_name>
Run Code Online (Sandbox Code Playgroud)
例
npm install socket.io
Run Code Online (Sandbox Code Playgroud)
在您的情况下,如果您不知道它package.json是什么,请在继续处理nodejs之前在此处阅读.
小智 5
我不得不以下列方式解决这个问题.
1)我将测试程序放在以下文件夹中.
c:\ program files \nodejs \node_modules
在这种情况下,源代码如下.
var io = require('socket.io').listen(80);
Run Code Online (Sandbox Code Playgroud)
2)我指定了socket.io的完整路径.
c:> dir/x [输入]
然后我输入以下命令来获得" progra~1 ".
var io = require("c:/progra~1/nodejs/node_modules/socket.io").listen(80);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26429 次 |
| 最近记录: |