为什么我的节点应用程序找不到socket.io-client(找不到模块' socket.io-client')

时间:2018-01-07 16:45:30

标签: node.js sockets amazon-ec2 socket.io

我正在尝试在Amazon EC2实例上设置node,express和socket.io。我做了以下。

nvm install 6.11.5 //(node)
npm install express -g
npm install socket.io
npm install socket.io-client

ERROR:

module.js:471
  throw err;
  ^

Error: Cannot find module 'socket.io-client'
 at Function.Module._resolveFilename (module.js:469:15)
 at Function.Module._load (module.js:417:25)
 at Module.require (module.js:497:17)
 at require (internal/module.js:20:19)
 at Object.<anonymous> (/home/ec2-user/server/server.js:3:10)
 at Module._compile (module.js:570:32)
 at Object.Module._extensions..js (module.js:579:10)
 at Module.load (module.js:487:32)
 at tryModuleLoad (module.js:446:12)
 at Function.Module._load (module.js:438:3)

这是我的server.js文件的开头(它在server / server.js中)。

var express = require('express');
var io = require('socket.io-client');  <--- this is where error happens
var https = require('https');
var querystring = require('querystring');

如果我npm list socket.io-client

我得到以下

myapp@1.0.0 /home/ec2-user/server
├─┬ socket.io@2.0.4
│ └── socket.io-client@2.0.4  deduped
└── socket.io-client@2.0.4 

1 个答案:

答案 0 :(得分:0)

我想我明白了。我也永远使用。所以我删除了我的forever.log文件npm clean cache,npm install socket.io-client,npm init,evered forevered,现在我在文件中进一步收到错误。所以我认为它是固定的,因为我通过了socket.io-client代码行。所有本地都在我的/服务器目录中(不再是全局的)。