使用 Q 节点模块时,Bluemix node.js 应用程序部署失败
Bluemix node.js app deployment fails when using Q node module
我正在使用 Bluemix
部署示例 node.js
应用程序。如果我的应用程序代码中不需要 Q
包,一切正常。但是如果我在我的代码中需要 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
模块确实已安装并显示如下。
├── q@1.4.1
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! SampleNodeApp@0.0.1 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 SampleNodeApp@0.0.1 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')
一切正常,应用程序成功部署和启动。我也在我的机器上进行了本地测试,它工作得很好。
有什么建议或解决办法吗?谢谢!
试试下面的代码:
var Q = require('q');
q模块名称是q
,不是Q
。
你的问题的关键是这个错误:
Error: Cannot find module 'Q'
模块的名称不是Q
,而是q
。更改该值,它将解决您的问题。
我正在使用 Bluemix
部署示例 node.js
应用程序。如果我的应用程序代码中不需要 Q
包,一切正常。但是如果我在我的代码中需要 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
模块确实已安装并显示如下。
├── q@1.4.1
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! SampleNodeApp@0.0.1 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 SampleNodeApp@0.0.1 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')
一切正常,应用程序成功部署和启动。我也在我的机器上进行了本地测试,它工作得很好。
有什么建议或解决办法吗?谢谢!
试试下面的代码:
var Q = require('q');
q模块名称是q
,不是Q
。
你的问题的关键是这个错误:
Error: Cannot find module 'Q'
模块的名称不是Q
,而是q
。更改该值,它将解决您的问题。