2012-02-17 70 views
2

我是NodeJS的新手,所以這可能是一個簡單的解決方案。但是,我無法用我目前的理解水平找到解決方案。Heroku + Facebook + NodeJS:找不到模塊'OAuth'

我克隆了Github中的heroku-facebook-nodejs模板,並試圖在本地服務器上的開發環境中進行一些測試。我使用的版本的NodeJS 0.6.10

https://github.com/heroku/facebook-template-nodejs

我修改的package.json如下所示:

{ 
    "name":  "facebook-template-node", 
    "version":  "0.0.1", 
    "description": "Template app for Heroku/Facebook integration, Node.js language", 
    "dependencies": { 
    "ejs": "0.4.3", 
    "everyauth": "0.2.18", 
    "express": "2.5.2", 
    "facebook-client": "1.3.0", 
    "facebook": "0.0.3", 
    "node-uuid": "1.2.0", 
    "socket.io": "0.8.7", 
    "connect": "1.8.5" 
    } 
} 

我刪除了以下內容:

require.paths.unshift(__dirname + '/lib'); 

和更換

var socket_manager = require('socket_manager').create(io); 

var socket_manager = require('lib/socket_manager').create(io); 

然後跑到NPM-安裝-d在本地安裝的模塊。

當我運行節點web.js,我得到以下錯誤:

system-process:hollow-cloud-1974 ericjang2004$ node web.js 
The "sys" module is now called "util". It should have a similar interface. 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: Cannot find module 'oauth' 
    at Function._resolveFilename (module.js:332:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:354:17) 
    at require (module.js:370:17) 
    at Object.<anonymous> (/Users/Eric/Desktop/hollow-cloud-1974/node_modules/everyauth/lib/modules/oauth2.js:2:13) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Module.require (module.js:354:17) 

我不知道如何着手。有小費嗎?我讀過Heroku使用舊版本的Node,如果有幫助的話。

回答

3

添加 「OAuth的」: 「0.9.5」 給你的依賴關係的package.json,所以它看起來像:

"dependencies": { 
    "ejs": "0.4.3", 
    "oauth": "0.9.5", 
    "everyauth": "0.2.18", 
    "express": "2.5.2", 
    "facebook-client": "1.3.0", 
    "facebook": "0.0.3", 
    "node-uuid": "1.2.0", 
    "socket.io": "0.8.7", 
    "connect": "1.8.5" 
    } 

和運行npm install -d

1

運行npm install whatever --save反而會確保模塊得到添加到包json。

你會做npm install whatever --save-dev如果它的開發依賴...