Heroku + Facebook + NodeJS: не удается найти модуль 'OAuth' - PullRequest
2 голосов
/ 17 февраля 2012

Я новичок в NodeJS, так что, возможно, это легко исправить.Однако я не смог найти решение с моим текущим уровнем понимания.

Я клонировал шаблон heroku-facebook-nodejs из Github и пытаюсь провести некоторое тестирование в среде разработки на моем локальном сервере.Я использую 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-install -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, если это поможет.

Ответы [ 2 ]

3 голосов
/ 18 февраля 2012

Добавьте «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 голос
/ 04 декабря 2013

работает npm install whatever --save вместо этого гарантирует, что модуль будет добавлен в пакет json.

вы бы сделали npm install whatever --save-dev, если это зависимость для разработки ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...