2011-04-22 31 views
3

我使用node.js wiki中的指令安裝了node.js。所以我把debian sid源文件放在我的源文件列表中,並安裝了節點。之後,我用wiki站點的curl cmd安裝了npm。我用npm安裝了socket.io。直到這一點的一切都沒有任何錯誤。node.js在debian 5(lenny)下退出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) 

我沒有任何想法,爲什麼這是不行的?任何人都可以幫忙嗎?

+0

你在哪裏安裝了socket.io?你把它安裝在server.js文件所在的文件夾中嗎? – Raynos 2011-04-22 12:37:27

+0

我用npm安裝了它,我不知道npm在哪裏存儲安裝的libarys。 – nesQuick 2011-04-22 12:45:52

+0

但找到說:'find/-name socket.io -type d /usr/lib/node/.npm/socket.io /usr/lib/node/.npm/socket.io/0.6.17/package /lib/socket.io /usr/lib/node/.npm/.cache/socket.io /usr/lib/node/.npm/.cache/socket.io/0.6.17/package/lib/socket .io ' – nesQuick 2011-04-22 12:46:18

回答

5
  1. 轉到項目文件夾。這是運行node your_server.js的文件夾。
  2. 運行npm install socket.io。這將在此項目文件夾下添加一個名爲node_modules的目錄,其中不出所料,此項目的模塊是。
  3. 使用node your_server.js運行服務器。這次它會工作;)。

享受!

0

你可以直接在你的JavaScript文件中引用socket.io。

如果socket.io使用npm install socket.io -g它應該在/ 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是如何工作的,但今天上述工作可以正常工作,我只是試圖確定。