node.js с socket.io под debian 5 (lenny) завершается с ошибкой
Я установил node.js с инструкциями из node.js вики. Поэтому я поместил источники sid Debian в свой список источников и установил узел. После этого я установил npm с помощью curl cmd с вики-сайта. Я установил socket.io с npm. Все до этого момента работает без ошибок.
Но когда я пытаюсь запустить свой сервер, я получаю эту ошибку:
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^ Error: Cannot find module 'socket.io'
at Function._resolveFilename (module.js:320:11)
at Function._load (module.js:266:25)
at require (module.js:348:19)
at Object.<anonymous> (/root/sockets/trunk/socketio/server.js:8:8)
at Module._compile (module.js:404:26)
at Object..js (module.js:410:10)
at Module.load (module.js:336:31)
at Function._load (module.js:297:12)
at Array.<anonymous> (module.js:423:10)
at EventEmitter._tickCallback (node.js:126:26)
У меня нет идей, почему это не сработает? Кто-нибудь может помочь?
2 ответа
- Перейдите в папку проекта. Это папка, в которой вы запускаете узел your_server.js.
- Бежать
npm install socket.io
, Это добавит каталог в папку этого проекта с именем node_modules, где, что неудивительно, есть модули для этого проекта. - Запустите сервер с
node your_server.js
, На этот раз это будет работать;).
Наслаждайтесь!
Вы можете ссылаться на socket.io прямо в вашем файле JavaScript.
Если вы установили socket.io, используя npm install socket.io -g
он должен был установить socket.io в каталоге node_modules в /usr/local/lib. Так что возьмите socket.io оттуда.
Итак, в вашем скрипте ссылка на socket.io, как показано ниже:
var io = require('/usr/local/lib/node_modules/socket.io');
Тогда беги node /wherever_your_script_is/your_script.js
Приветствия.
PS Не уверен, как npm работал в прошлом, но сегодня вышеприведенное сработало бы нормально, я просто попробовал убедиться.