node.js与debian 5(lenny)下的socket.io退出并出错

时间:2011-04-22 12:29:27

标签: node.js debian socket.io lenny

我使用node.js wiki的说明安装了node.js。所以我将debian sid源放在我的源列表和已安装的节点中。之后我用wiki网站的curl cmd安装了npm。我用npm安装了socket.io。到目前为止,一切都没有任何错误。

但是当我尝试启动服务器时出现此错误:

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 个答案:

答案 0 :(得分:5)

  1. 转到项目文件夹。这是运行节点your_server.js的文件夹。
  2. 运行npm install socket.io 。这将在名为node_modules的项目文件夹下添加一个目录,毫不奇怪,这个项目的模块是。
  3. 使用node your_server.js运行服务器。这次它会起作用;)。
  4. 享受!

答案 1 :(得分:0)

您可以直接在javascript文件中引用socket.io。

如果您使用npm install socket.io -g安装了socket.io,它应该在/ usr / local / lib下的node_modules目录中安装了socket.io。所以从那里拿起socket.io。

所以在你的脚本中,引用socket.io如下:

var io = require('/usr/local/lib/node_modules/socket.io');

然后运行node /wherever_your_script_is/your_script.js

干杯。

P.S。不确定npm过去是如何工作的,但是今天上面的工作还可以,我只是试着确定。