我使用CLOUD9 IDE编码的新项目。 当我部署从cloud9ide cloudfoundry。 我有错误
应用程序未能启动。 请注意,CloudFoundry使用不同的端口来听。 当调用 '听()' 使用它像 '听(process.env.PORT || process.env.VCAP_APP_PORT)'。
这是我的源
VAR =端口(process.env.VMC_APP_PORT || 3000);
变种宿主=(process.env.VCAP_APP_HOST || '本地主机');
VAR = HTTP要求( 'HTTP');
VAR ENV = process.env.VCAP_SERVICES? JSON.parse(process.env.VCAP_SERVICES):空;
VAR mongodata = ENV [ '的mongodb-1.8'] [0] [ '凭证'];
http.createServer(功能(REQ,RES){
res.writeHead(200,{ '内容 - 类型': 'text / plain的'});
res.end(的 'Hello World \ n' + ENV); })听(端口,主机)。
此源有错误,当我得到蒙戈对象
VAR mongodata = ENV [ '的mongodb-1.8'] [0] [ '凭证'];
但没有这条线成功部署
请帮我 !!
非常感谢
正如CLOUD9控制台中的错误可能会告诉你(因为它告诉我,当我尝试这个:-)):
haalasdoallalsakdl (CloudFoundry): [5/6] Crash log
============/logs/stderr.log============
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Cannot read property '0' of undefined
at Object.<anonymous> (/var/vcap/data/dea/apps/haalasdoallalsakdl-0-8be0d413a9ec29a79f665d388ce414bd/app/server.js:7:35)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
所以在没有进入VCAP_SERVICES
叫这样。 当我console.log
的process.env
变量,没有上市甚至没有任何服务。
所以你必须安装MongoDB的服务,为您的应用程序。 最快要做到这一点是通过CF VMC工具(不能在CLOUD9目前运行它,所以你必须在本地安装此):
vmc create-service mongodb --bind your_app_name
然后,它会开始了罚款。
NB你或许可以在.yml文件中解决这个问题,但我不知道如何做到这一点:-)