Ответ 1
Похоже, вы установили socket.io
в другое место в ваш текущий путь. Либо установите глобально, как показано ниже:
npm install -g socket.io
Или укажите местоположение, на которое вы установили:
var io = require('../lib/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 [email protected] No repository field.
npm WARN package.json [email protected] 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
Похоже, вы установили socket.io
в другое место в ваш текущий путь. Либо установите глобально, как показано ниже:
npm install -g socket.io
Или укажите местоположение, на которое вы установили:
var io = require('../lib/socket.io');
Спасибо ajtrichards!
Просто добавьте ответ - если вы просто используете
sudo npm install socket.io
Путь установки будет
/home/.../.npm/socket.io
Если вы используете sudo npm install -g socket.io
Путь установки будет
/usr/local/lib/node_modules/socket.io
В первом случае я попытался добавить путь socket.io в переменную глобального пути, но это не сработало.
У меня была такая же проблема с версией 0.12.0 в Windows. Я пробовал npm install -g socket.io, но ничего не изменил. Также попробовал npm cache clean тоже без изменений, но после npm update npm -g все стало хорошо.
Это почти так, как вы пытаетесь получить socket.io в html файлах, например:
index.html
где у вас есть:
< script type="text/javascript" src="/socket.io/socket.io.js"></script>
Он не найдет socket.io, потому что вы не запустили модуль в своем файле приложения, в котором содержится сервер, например
server.js
Вы должны включить следующие строки после запуска своего сервера в server.js:
var io = require('socket.io').listen(server);
Надеюсь, сэкономит время.
Я думаю, что вы выполнили команду npm install socket.io
в другом месте, и ваши файлы находятся в другом каталоге.
Поэтому либо запустите команду в том же каталоге, где есть ваши файлы, либо укажите путь, в котором вы уже установили socket.io в вашей переменной PATH.