2016-05-02 3 views
0

Я использую Bluemix для развертывания примера node.js. Все работает нормально, если я не требую пакета Q внутри моего кода приложения. Но развертывание приложения не выполняется, если мне нужен пакет Q внутри моего кода.Развертывание приложения Bluemix node.js не работает при использовании модуля узла Q

Вот мое приложение код -

/*eslint-env node*/ 
var express = require('express'), 
    cfenv = require('cfenv'), 
    //bodyParser = require('body-parser'), 
    //multer = require('multer'), 
    Q = require('Q'); 
var app = express(); 
app.set('view engine', 'pug'); 
app.use(express.static(__dirname + '/views')); 
app.get('/', function (req, res) { 
    res.render('index'); 
}); 
app.listen(appEnv.port, '0.0.0.0', function() { 
    console.log("server starting on " + appEnv.url); 
}); 

Однако, когда я просматриваю журналы действительно установлен Q модуль и показывает, как показано ниже.

├── [email protected] 

Bluemix журналов развертывания -

2016-05-03T00:30:05.46+0530 [App/0]  ERR module.js:328 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  throw err; 
2016-05-03T00:30:05.46+0530 [App/0]  ERR ^
2016-05-03T00:30:05.46+0530 [App/0]  ERR Error: Cannot find module 'Q' 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Function.Module._resolveFilename (module.js:326:15) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Function.Module._load (module.js:277:25) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Module.require (module.js:354:17) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at require (internal/module.js:12:17) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Object.<anonymous> (/home/vcap/app/app.js:6:9) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Module._compile (module.js:410:26) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Object.Module._extensions..js (module.js:417:10) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Module.load (module.js:344:32) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Function.Module._load (module.js:301:12) 
2016-05-03T00:30:05.46+0530 [App/0]  ERR  at Function.Module.runMain (module.js:442:10) 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! Linux 3.19.0-25-generic 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! argv "/home/vcap/app/vendor/node/bin/node" "/home/vcap/app/vendor/node/bin/npm" "start" 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! node v4.2.6 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! npm v2.14.12 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! code ELIFECYCLE 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! [email protected] start: `node app.js` 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! Exit status 1 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! Failed at the [email protected] start script 'node app.js'. 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! This is most likely a problem with the SampleNodeApp package, 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! not with npm itself. 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! Tell the author that this fails on your system: 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR!  node app.js 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! You can get their info via: 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR!  npm owner ls SampleNodeApp 
2016-05-03T00:30:05.48+0530 [App/0]  ERR npm ERR! There is likely additional logging output above. 
2016-05-03T00:30:05.49+0530 [App/0]  ERR npm ERR! Please include the following file with any support request: 
2016-05-03T00:30:05.49+0530 [App/0]  ERR npm ERR!  /home/vcap/app/npm-debug.log 
2016-05-03T00:30:05.56+0530 [DEA/137] ERR Instance (index 0) failed to start accepting connections 

ПРИМЕЧАНИЕ: Если я удалить строку Q = require('Q') все работает отлично и приложение развертывается и успешно запущен. Также я тестировал его локально на своей машине, и он отлично работает.

Любые предложения или решения? Благодаря!

+0

Как это работает локально, когда вы требуете 'Q' вместо' q'? – Seth

+0

@ хорошо, он как-то работает локально на моей машине и не вызывает никакой ошибки в том, что модуль узла не найден. Это действительно странно. Я не понимаю, почему он не выбрасывает эту ошибку локально. И интересно, что это работает в обоих случаях маленьким или caps 'q'. –

ответ

2

Попробуйте следующий код:

var Q = require('q'); 

Имя модуля д является q, не Q.

+0

Спасибо, что исправил меня с корпусом. Понял, что osx и windows не чувствительны к регистру и поэтому не вызывают каких-либо ошибок, но это делается на основе linux. –

1

Ключ к вашей проблеме эта ошибка:

Error: Cannot find module 'Q'

Имя модуля не Q, это q. Измените это значение, и оно исправит вашу проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^