node.js с socket.io под debian 5 (lenny) завершается с ошибкой - PullRequest
3 голосов
/ 22 апреля 2011

Я установил node.js с инструкциями из node.js wiki.Поэтому я поместил источники 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 ]

5 голосов
/ 13 июля 2011
  1. Перейти в папку проекта . Это папка, в которой вы запускаете узел your_server.js.
  2. Выполнить npm install socket.io. Это добавит каталог в папку этого проекта с именем node_modules, где, что неудивительно, модули для этого проекта.
  3. Запустить сервер с node your_server.js. На этот раз это сработает;).

Наслаждайтесь!

0 голосов
/ 24 февраля 2012

Вы можете ссылаться на 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

Cheers.

PS Не уверен, как npm работал в прошлом, но сегодня вышеприведенное сработало бы нормально, я просто попробовал, чтобы убедиться.

...