Node.js 如何在OPENSHIFT中访问process.env.OPENSHIFT\u REPO\u DIR?

Node.js 如何在OPENSHIFT中访问process.env.OPENSHIFT\u REPO\u DIR?,node.js,openshift,openshift-3,Node.js,Openshift,Openshift 3,在前面的OpenShiftNode.js应用程序中,process.env.OpenShift\u REPO\u DIR环境变量可用。不,我迁移到了OpenShift 3,得到了一个错误 var apn = require('apn'); var optionsP = { token: { key: process.env.OPENSHIFT_REPO_DIR + 'APNsAuthKey_AQ34EHZCDQ.p8', keyId: "AQ34EHZCD

在前面的
OpenShift
Node.js
应用程序中,
process.env.OpenShift\u REPO\u DIR
环境变量可用。不,我迁移到了
OpenShift 3
,得到了一个错误

var apn = require('apn');
var optionsP = {
    token: {
        key: process.env.OPENSHIFT_REPO_DIR + 'APNsAuthKey_AQ34EHZCDQ.p8',
        keyId: "AQ34EHZCDQ",
        teamId: "AQUJ3H44A4",
    },
    production: true,
};

var apnProviderP = new apn.Provider(optionsP);

/opt/app root/src/node_modules/apn/lib/credentials/token/prepare.js:15
抛出新的错误(错误,“加载令牌密钥失败”);
^
错误:加载令牌密钥失败:enoint:没有此类文件或目录,请打开“UndefinedAppAuthKey_AQ34EHZCDQ.p8”
在prepareToken(/opt/app root/src/node_modules/apn/lib/credentials/token/prepare.js:15:13)
在config(/opt/app root/src/node_modules/apn/lib/config.js:42:31)
在新客户端(/opt/app root/src/node_modules/apn/lib/Client.js:11:19)
位于EventEmitter.Provider(/opt/app root/src/node_modules/apn/lib/Provider.js:12:19)
反对。(/opt/app root/src/server.js:26:20)
在模块处编译(Module.js:570:32)
在Object.Module.\u extensions..js(Module.js:579:10)
在Module.load(Module.js:487:32)
在tryModuleLoad时(module.js:446:12)
在Function.Module.\u加载(Module.js:438:3)

有什么想法吗?

在OpenShift 3下,如果使用不同语言的捆绑S2I构建器,在大多数情况下,您的应用程序源代码将驻留在目录
/opt/app root/src
中。没有指定目录的环境变量


要确认目录是什么,可以使用
ocrsh
在容器中为应用程序获取一个交互式shell,然后运行
pwd
。通常默认目录是应用程序代码所在的位置。

很好,已更正,但似乎
OpenShift
无法获取源代码,您知道吗?关于
process.env.OPENSHIFT\u NODEJS\u端口
process.env.OPENSHIFT\u NODEJS\u IP
,这些环境变量可用吗?否。如果未设置
OPENSHIFT\u NODEJS\u端口
,请退回到使用端口8080。如果未设置
OPENSHIFT\u NODEJS\u IP
,请回退到使用
0.0.0
/opt/app-root/src/node_modules/apn/lib/credentials/token/prepare.js:15
      throw new VError(err, "Failed loading token key");
      ^
VError: Failed loading token key: ENOENT: no such file or directory, open 'undefinedAPNsAuthKey_AQ34EHZCDQ.p8'
    at prepareToken (/opt/app-root/src/node_modules/apn/lib/credentials/token/prepare.js:15:13)
    at config (/opt/app-root/src/node_modules/apn/lib/config.js:42:31)
    at new Client (/opt/app-root/src/node_modules/apn/lib/client.js:11:19)
    at EventEmitter.Provider (/opt/app-root/src/node_modules/apn/lib/provider.js:12:19)
    at Object.<anonymous> (/opt/app-root/src/server.js:26:20)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)