为什么我无法从VCAP_APPLICATION获取application_id - 本地节点服务器
问题描述:
我使用“移动客户端访问”服务创建了一个Bluemix nodeJS应用程序。该应用程序在Bluemix中完美运行,但是当我尝试在将代码下载到笔记本电脑后本地运行它时,它无法加载。看起来它需要访问某些仅在Bluemix中不在本地环境中使用的env变量。我是否必须创建某种env文件才能在本地运行它?感谢你的帮助。为什么我无法从VCAP_APPLICATION获取application_id - 本地节点服务器
代码导致错误:
var ImfBackendStrategy = require('passport-imf-token-validation').ImfBackendStrategy;
var imf = require('imf-oauth-user-sdk');
passport.use(new ImfBackendStrategy());
以下是错误:
[ERROR] Can't get the application_id from VCAP_APPLICATION, please check if the application running on bluemix.
/Users/xxx/git/DigitalAgent/node_modules/passport-imf-token-validation/lib/imf-backend-strategy.js:31
throw new TypeError(msg);
^
TypeError: Can't get the application_id from VCAP_APPLICATION, please check if the application running on bluemix.
at new Strategy (/Users/xxx/git/DigitalAgent/node_modules/passport-imf-token-validation/lib/imf-backend-strategy.js:31:9)
at Object.<anonymous> (/Users/xxx/git/DigitalAgent/app.js:14:14)
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)
at startup (node.js:129:16)
at node.js:814:3
答
你必须在本地机器上设置环境变量。您可以在仪表板控制台的左侧菜单上的“环境变量”上点击Bluemix上的可变环境。
答
我在使用bluemix启动代码时遇到了同样的问题,我在./server/server.js
的下面一行注释并开始工作。
//passport.use(new MCABackendStrategy())
您可以访问VCAP变量并在计算机上的Bluemix仪表板中重新创建它们(单击应用程序的磁贴并查找“环境变量”)。否则,在Bluemix上运行它将是您唯一的选择。 –