node.js - 在 ibm cloud 上启动应用程序时找不到模块 'ibmbluemix'

标签 node.js ibm-cloud

我最近在 IBM blumix 上开始了我的第一个 NodeJs 应用程序,遵循这些教程 http://ibm-bluemix.coderpower.com/#/warmup/55e07bf49924f792327901cd/code 。 我按照说明进行操作,但是当我启动应用程序时,出现错误 Cannot find module 'ibmbluemix'

我的代码和教程一样,我几乎感觉ibm bluemix模块没有安装在云ibm bluemix上。

这是代码 包.json

{
"name": "NodejsStarterApp",
"version": "0.0.1",
"description": "A sample nodejs app for Bluemix",
"scripts": {
    "start": "node app.js"
},
"dependencies": {
    "express": "4.12.x",
    "cfenv": "1.0.x"
},
"repository": {},
"engines": {
    "node": "0.12.x"
} 
}

app.js

    var express = require('express');
    var ibmbluemix = require('ibmbluemix');
    var config = {
    applicationId:"FirstAppli",
    applicationRoute:"firstappli.mybluemix.net"
   };
   // cfenv provides access to your Cloud Foundry environment
   // for more info, see: https://www.npmjs.com/package/cfenv
   var cfenv = require('cfenv');

   // create a new express server
   var app = express();

   // serve the files out of ./public as our main files
   app.use(express.static(__dirname + '/public'));

   var router = express.Router();
   router.get('/', /* @callback */ function(req,res){
            ibmbluemix.initialize(config).then(/* @callback */ function(success)      {
                res.json({ message : 'sdk initialised' });
            },
            /* @callback */ function(err){
                res.json({ message : 'sdk error' });
            });
        });

    app.use('/api', router);

    // get the app environment from Cloud Foundry
   var appEnv = cfenv.getAppEnv();

   // start server on the specified port and binding host
   app.listen(appEnv.port, '0.0.0.0', function() {

    // print a message when the server starts listening
   console.log("server starting on " + appEnv.url);
  });

启动日志

Starting app instance (index 0) with guid 8a0df22f-7c18-476f-8dc0-91c3db946ac6
Updated app with guid 8a0df22f-7c18-476f-8dc0-91c3db946ac6 ({"state"=>"STARTED"})
Detected 1024 MB available memory, 512 MB limit per process (WEB_MEMORY)
Recommending WEB_CONCURRENCY=2
Activating app management utilities: devconsole, shell, inspector
2015/10/27 10:46:52 authenticator url is detected as https://api.ng.bluemix.net/v2/apps/8a0df22f-7c18-476f-8dc0-91c3db946ac6/env
2015/10/27 10:46:52 The application base path is detected as /home/vcap
2015/10/27 10:46:52 Starting the proxy agent on port 61392
2015/10/27 10:46:52 Begin to start the runtime...
Starting utility: devconsole...
Adding proxy entry with: {"type": "http-forward", "backend": "127.0.0.1:8788", "host": "*", "uri_prefix": "bluemix-debug/manage"}
2015/10/27 10:46:52 Catch event "/home/vcap/app/.app-management/bin/proxy.config": WRITE. Reload the registry.
Starting utility: shell...
Adding proxy entry with: {"type": "http-forward", "backend": "127.0.0.1:8789", "host": "*", "uri_prefix": "bluemix-debug/shell"}
2015/10/27 10:46:52 Catch event "/home/vcap/app/.app-management/bin/proxy.config": WRITE. Reload the registry.
Starting utility: inspector...
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   1132   828 ?        S<s  10:46   0:00 wshd: 192t1kppgo2    
vcap        29  0.0  0.0 270040  5408 ?        S<sl 10:46   0:00 .app-management/bin/proxyAgent
vcap        35  0.0  0.0  19592  3452 ?        S<   10:46   0:00 bash /home/vcap/app/.app-management/handlers/start-inspector/run
vcap        45  0.0  0.0  19596  3408 ?        S<   10:46   0:00 bash /home/vcap/app/.app-management/scripts/start 61393
vcap        72  0.0  0.0 677992 25228 ?        R<l  10:46   0:00 /home/vcap/app/.app-management/node/bin/node bin/dev.js bluemix-debug/manage 8788
vcap        88  0.0  0.0 677992 23480 ?        R<l  10:46   0:00 npm                                                                         
vcap       113  0.0  0.0 611432 20688 ?        R<l  10:46   0:00 /home/vcap/app/.app-management/node/bin/node server.js bluemix-debug/shell 8789
vcap       145  0.0  0.0  19588   292 ?        R<   10:46   0:00 bash /home/vcap/app/.app-management/handlers/start-inspector/run
vcap       146  0.0  0.0  17172  2472 ?        R<   10:46   0:00 ps aux
Adding proxy entry with: {"type": "http-forward", "backend": "127.0.0.1:8790", "host": "*", "uri_prefix": "bluemix-debug/inspector"}
2015/10/27 10:46:52 Catch event "/home/vcap/app/.app-management/bin/proxy.config": WRITE. Reload the registry.
> NodejsStarterApp@0.0.1 start /home/vcap/app
> node app.js
node-inspector is active. Visit the web page to start debugging.
module.js:338
    throw err;
          ^
Error: Cannot find module 'ibmbluemix'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/vcap/app/app.js:11:18)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
npm ERR! Linux 3.19.0-25-generic
npm ERR! argv "/home/vcap/app/vendor/node/bin/node" "/home/vcap/app/vendor/node/bin/npm" "start"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! NodejsStarterApp@0.0.1 start: `node app.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the NodejsStarterApp@0.0.1 start script 'node app.js'.
npm ERR! This is most likely a problem with the NodejsStarterApp package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls NodejsStarterApp
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/vcap/app/npm-debug.log
2015/10/27 10:46:53 Fail to start the application runtime: The runtime cannot be started. Error: Runtime start script returns error 'exit status 1'. Please check the application logs for more details.
Restarting the runtime in debug mode...
scripts/stop: line 27: kill: (88) - No such process
kill -9 88
scripts/stop: line 32: kill: (88) - No such process
Starting app with 'node --debug=5858  app.js '
Debugger listening on port 5858
module.js:338
    throw err;
          ^
Error: Cannot find module 'ibmbluemix'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/vcap/app/app.js:11:18)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
firstappli.mybluemix.net - [27/10/2015:11:01:33 +0000] "GET /bluemix-debug/manage/tools/runtime HTTP/1.1" 200 0 69 "-" "Jakarta Commons-HttpClient/3.1" 108.168.250.153:11163 x_forwarded_for:"198.11.229.213" vcap_request_id:2ce77b66-4cc0-403d-6558-a020a23e4b93 response_time:0.259158396 app_id:8a0df22f-7c18-476f-8dc0-91c3db946ac6

我不明白,我没有尝试在本地测试代码,但令我惊讶的是互联网上没有人遇到与我相同的错误。也许我忘记了一些明显的事情......感谢您的帮助!

PS:我没有使用创建的默认空间,但我创建了一个新空间(否则我无法创建 Node 应用程序),也许会有一些影响...

最佳答案

您需要将 ibmbluemix 添加为 package.json 文件中的依赖项:

{
"name": "NodejsStarterApp",
"version": "0.0.1",
"description": "A sample nodejs app for Bluemix",
"scripts": {
    "start": "node app.js"
},
"dependencies": {
    "express": "4.12.x",
    "cfenv": "1.0.x",
    "ibmbluemix": "1.0.0"
},
"repository": {},
"engines": {
    "node": "0.12.x"
} 
}

如果您想在本地尝试应用程序,请在更改 package.json 文件后运行以下命令:

# npm install
# node app.js

关于node.js - 在 ibm cloud 上启动应用程序时找不到模块 'ibmbluemix',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33366591/

相关文章:

java - Bluemix 中的流分析服务出错

scala - 如何在 Bluemix 上启动 Scala Play 应用程序?

amazon-web-services - 获取 Bluemix 实例 IP

javascript - 在 Javascript 类中从另一个方法调用一个方法

node.js - 使用 node.js 将 url 显示到控制台

security - 如何使 Bluemix VCAP_ID cookie 安全?

node.js - 使用 watson-developer-cloud nodejs sdk 删除多个意图

node.js - less-middleware 不生成输出 css

node.js - 在我的项目中执行 npm 时出现错误

javascript - javascript中的尾随零