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 ответа

Решение
  1. Перейдите в папку проекта. Это папка, в которой вы запускаете узел your_server.js.
  2. Бежатьnpm install socket.io, Это добавит каталог в папку этого проекта с именем node_modules, где, что неудивительно, есть модули для этого проекта.
  3. Запустите сервер с 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 работал в прошлом, но сегодня вышеприведенное сработало бы нормально, я просто попробовал убедиться.

Другие вопросы по тегам