1

我按照此 博客上的步骤 部署了在将 approuter 部署到 Cloud Foundry 后,该应用程序崩溃了。

下面是错误日志。

2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! Linux 4.4.0-111-generic
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! argv “/home/vcap/deps/0/node/bin/node” “/home/vcap/deps/0/bin/npm” “start”
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! node v6.13.1
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! npm v3.10.10
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! path /home/vcap/app/package.json
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! code ENOENT
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! errno -2
2018-04-11T15:26:11.61-0400 [APP/PROC/WEB/0] ERR npm ERR! syscall open
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! enoent ENOENT: no such file or directory, open ‘/home/vcap/app/package.json’
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! enoent ENOENT: no such file or directory, open ‘/home/vcap/app/package.json’
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! enoent This is most likely not a problem with npm itself
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! enoent and is related to npm not being able to find a file.
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! enoent
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! Please include the following file with any support request:
2018-04-11T15:26:11.62-0400 [APP/PROC/WEB/0] ERR npm ERR! /home/vcap/app/npm-debug.log

错误日志显示 package.json 文件丢失,但我将 package.json 文件放在 approuter 目录中。

下面是 manifest.json 文件中的代码。

---
applications:
 - name: approuter
   host: approuter-s0018349215trial
   path: approuter
   memory: 128M
   buildpack: nodejs_buildpack
   env:
        TENANT_HOST_PATTERN: '*****'
        destinations: '[{"name":"Businesspartners_cloudfoundry", "url" 
        :"https://***********", "forwardAuthToken": true}]'
   services:
     - my-xsuaa

下面是 package.json 文件

{
  "name": "@sap/approuter",
  "description": "Node.js based application router",
  "version": "2.10.0",
  "repository": {},
  "main": "approuter.js",
  "dependencies": {
    "agentkeepalive": "2.0.5",
    "async": "2.0.1",
    "basic-auth": "1.0.3",
    "commander": "2.9.0",
    "compression": "1.6.0",
    "connect": "3.6.2",
    "cookie": "0.2.2",
    "cookie-parser": "1.3.5",
    "cookie-signature": "1.0.6",
    "express-session": "1.15.3",
    "http-proxy-agent": "1.0.0",
    "https-proxy-agent": "1.0.0",
    "jwt-decode": "2.0.1",
    "lodash": "4.17.4",
    "lru-cache": "4.0.0",
    "mustache": "2.2.1",
    "passport": "0.3.2",
    "request": "2.81.0",
    "request-stats": "2.0.1",
    "safe-regex": "1.1.0",
    "@sap/audit-logging": "^1.0.5",
    "@sap/e2e-trace": "^1.1.2",
    "@sap/logging": "^3.0.0",
    "@sap/xsenv": "^1.2.6",
    "send": "0.15.3",
    "serve-static": "1.12.3",
    "tough-cookie": "2.3.1",
    "tv4": "1.2.7",
    "urijs": "1.16.1",
    "verror": "1.10.0",
    "ws": "1.1.4",
    "base64-url": "1.2.1",
    "scmp": "1.0.0",
    "uid-safe": "~2.0.0"
  },
  "devDependencies": {
    "body-parser": "1.15.2",
    "chai": "3.5.0",
    "diveSync": "0.3.0",
    "eslint": "3.2.2",
    "filter-node-package": "^2.0.0",
    "istanbul": "0.4.4",
    "markdown-toc": "^1.1.0",
    "mocha": "3.0.2",
    "node-build": "^1.0.0",
    "node-mocks-http": "1.5.2",
    "node-style": "^2.0.0",
    "proxyquire": "1.7.10",
    "rimraf": "2.5.4",
    "sinon": "1.17.5",
    "supertest": "2.0.0"
  },
  "engines": {
    "node": "^0.12.7 || ^4.4.0 || ^6.0.0"
  },
  "files": [
    "lib",
    "doc",
    "package.json",
    "README.md",
    "approuter.js"
  ],
  "scripts": {
    "start": "node approuter.js",
    "test": "node build/test",
    "lint": "eslint -c node_modules/node-style/.eslintrc -f stylish lib/ approuter.js",
    "toc": "markdown-toc -i README.md && markdown-toc -i doc/extending.md && markdown-toc -i doc/sizingGuide.md",
    "prepareRelease": "node build/delete-extra-packages.js && clean-packages && npm prune --production"
  }
}

下面是工作目录的截图。

在此处输入图像描述

下面是approuter目录的截图

在此处输入图像描述

使用以下错误日志部署 cf push 命令时出现不同的错误。

2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR /home/vcap/app/lib/utils/JsonValidator.js:30 2018-04-23T09
:27:34.02-0400 [APP /PROC/WEB/0] ERR throw new VError('%s%s: %s', 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR ^ 2018-04-23T09: 27:34.02-0400 [APP/PROC/WEB/0] ERR VError: environment-settings/tenantHostPattern: 格式验证失败(正则表达式必须包含捕获组)
2018-04-23T09:27:34.02-0400 [APP/PROC /WEB/0] JsonValidator.validate 处的错误 (/home/vcap/app/lib/utils/JsonValidator.js:30:11) 2018-04-23T09
:27:34.02-0400 [APP/PROC/WEB/0] Object.validateEnvironmentSettings (/home/vcap/app/lib/configuration/validators.js:106:15) 处的错误
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] loadGroupedConfigurations (/home/vcap/app/lib/configuration/env-config.js:146:14) 处的错误
2018-04-23T09 :27:34.02-0400 [APP/PROC/WEB/0] Object.load 处的错误 (/home/vcap/app/lib/configuration/env-config.js:28:17)
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Object.module.exports.load (/home/vcap/app/lib/configuration.js:15:37) 的错误 2018-04 -23T09:27:34.02-0400 [APP/PROC/WEB/0] 引导时出现错误 (/home/vcap/app/lib/bootstrap.js:47:36) 2018-04-23T09:27:34.02-0400 [ APP/PROC/WEB/0] Approuter.start 处的 ERR (/home/vcap/app/approuter.js:58:13) 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] ERR在对象。(/home/vcap/app/approuter.js:115:6) 2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Module._compile (module.js:577:32) 处的错误
2018-04-23T09:27:34.02-0400 [APP/PROC/WEB/0] Object.Module._extensions..js (module.js:586:10) 的错误
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!Linux 4.4.0-116-generic 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!argv "/home/vcap/deps/0/node/bin/node" "/home/vcap/deps/0/bin/npm" "start" 2018-04-23T09:27:34.04-0400 [APP/PROC/ WEB/0] 错误 npm 错误!节点 v6.13.1 2018-04-23T09
:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!npm v3.10.10 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!代码 ELIFECYCLE 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!@sap/approuter@2.10.0 开始:node approuter.js
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!退出状态 1 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!在@sap/approuter@2.10.0 启动脚本“node approuter.js”处失败。
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!确保您安装了最新版本的 node.js 和 npm。
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!如果你这样做了,这很可能是@sap/approuter 包的问题,​​2018-04-23T09
:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR! 不是 npm 本身。2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!告诉作者这在您的系统上失败:
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!节点 approuter.js 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!您可以通过以下方式获取有关如何为此项目打开问题的信息:2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR!
npm 错误 @sap/approuter 2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!或者,如果这不可用,您可以通过以下方式获取他们的信息:2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] ERR npm ERR! npm 所有者 ls @sap/approuter
2018-04-23T09:27:34.04-0400 [APP/PROC/WEB/0] 错误 npm 错误!上面可能有额外的日志输出。2018-04-23T09:27:34.05-0400 [APP/PROC/WEB/0] 错误 npm 错误!请在任何支持请求中包含以下文件:2018-04-23T09:27:34.05-0400 [APP/PROC/WEB/0] ERR npm ERR! /home/vcap/app/npm-debug.log

下面是执行 cf push 命令的输出。

正在上传 approuter... 正在从以下位置上传应用程序文件:C:\Users\sanke\Desktop\favLocation\approuter 正在上传 3.3M、4197 个文件 完成将 OK 绑定服务 my-xsuaa 上传到 org P1942820265trial_trial/space dev 中的 app approuter 为 sankeerthnarsina@gmail。 com...好的

在 org P1942820265trial_trial/space dev 中启动 app approuter 作为 sankeerthnarsina@gmail.com... 正在下载 nodejs_buildpack... 单元 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 成功创建了实例 6485e7e3-0b40-4db3-8880-dba968c55583 的容器 下载的 nodejs_buildpack 单元09aeff0a-17aa-40ac-aee3-dcf077acd6c9 为实例创建容器 6485e7e3-0b40-4db3-8880-dba968c55583 下载应用程序包... 下载应用程序包(4.5M) -----> Nodejs Buildpack 版本 1.6.20 --- --> 安装二进制引擎.node (package.json): ^0.12.7 || ^4.4.0 || ^6.0.0 engine.npm (package.json): unspecified (use default) -----> 安装节点 6.13.1 下载 [ https://buildpacks.cloudfoundry.org/dependencies/node/node-6.13.1 -linux-x64-fc51b8dd.tgz] 使用默认 npm 版本:3.10.10 -----> 安装 yarn 1.5.1 下载 [ https://buildpacks.cloudfoundry.org/dependencies/yarn/yarn-v1.5.1-cd316572.tar.gz] 安装yarn 1.5.1 ----->创建运行环境NODE_ENV=production NODE_HOME=/tmp/contents135652367/deps/0/node NODE_MODULES_CACHE=true NODE_VERBOSE=false NPM_CONFIG_LOGLEVEL=error NPM_CONFIG_PRODUCTION=true ----->恢复缓存跳过缓存恢复(没有以前的缓存) -----> 构建依赖关系 检测到预构建(node_modules 已经存在)重建任何本机模块 agentkeepalive@2.0.5 /tmp/app/node_modules/agentkeepalive async@2.0.1 /tmp/app/node_modules /async lodash@4.17.4 /tmp/app/node_modules/lodash basic-auth@1.0.3 /tmp/app/node_modules/basic-auth command@2.9.0 /tmp/app/node_modules/commander graceful-readlink@1.0 .1 /tmp/app/node_modules/graceful-readlink 压缩@1.6。0 /tmp/app/node_modules/compression 接受@1.3.3 /tmp/app/node_modules/accepts negotiator@0.6.1 /tmp/app/node_modules/negotiator mime-types@2.1.16 /tmp/app/node_modules/mime -types mime-db@1.29.0 /tmp/app/node_modules/mime-db compressible@2.0.11 /tmp/app/node_modules/compressible vary@1.1.1 /tmp/app/node_modules/vary bytes@2.1.0 /tmp/app/node_modules/bytes on-headers@1.0.1 /tmp/app/node_modules/on-headers debug@2.2.0 /tmp/app/node_modules/compression/node_modules/debug ms@0.7.1 /tmp/ app/node_modules/compression/node_modules/ms connect@3.6.2 /tmp/app/node_modules/connect debug@2.6.7 /tmp/app/node_modules/debug ms@2.0.0 /tmp/app/node_modules/ms finalhandler@ 1.0.3 /tmp/app/node_modules/finalhandler parseurl@1.3.1 /tmp/app/node_modules/parseurl escape-html@1.0.3 /tmp/app/node_modules/escape-html encodeurl@1.0。1 /tmp/app/node_modules/encodeurl unpipe@1.0.0 /tmp/app/node_modules/unpipe on-finished@2.3.0 /tmp/app/node_modules/on-finished ee-first@1.1.1 /tmp/app /node_modules/ee-first statuses@1.3.1 /tmp/app/node_modules/statuses utils-merge@1.0.0 /tmp/app/node_modules/utils-merge cookie@0.2.2 /tmp/app/node_modules/cookie cookie -parser@1.3.5 /tmp/app/node_modules/cookie-parser cookie-signature@1.0.6 /tmp/app/node_modules/cookie-signature cookie@0.1.3 /tmp/app/node_modules/cookie-parser/node_modules /cookie express-session@1.15.3 /tmp/app/node_modules/express-session depd@1.1.1 /tmp/app/node_modules/depd uid-safe@2.1.4 /tmp/app/node_modules/express-session/ node_modules/uid-safe random-bytes@1.0.0 /tmp/app/node_modules/random-bytes crc@3.4.4 /tmp/app/node_modules/crc cookie@0.3。1 /tmp/app/node_modules/express-session/node_modules/cookie http-proxy-agent@1.0.0 /tmp/app/node_modules/http-proxy-agent agent-base@2.1.1 /tmp/app/node_modules/代理基础 semver@5.0.3 /tmp/app/node_modules/semver extend@3.0.1 /tmp/app/node_modules/extend https-proxy-agent@1.0.0 /tmp/app/node_modules/https-proxy-agent jwt-decode@2.0.1 /tmp/app/node_modules/jwt-decode lru-cache@4.0.0 /tmp/app/node_modules/lru-cache pseudomap@1.0.2 /tmp/app/node_modules/pseudomap yallist@2.1 .2 /tmp/app/node_modules/yallist mustache@2.2.1 /tmp/app/node_modules/mustache passport@0.3.2 /tmp/app/node_modules/passport pause@0.0.1 /tmp/app/node_modules/pause passport -strategy@1.0.0 /tmp/app/node_modules/passport-strategy request@2.81.0 /tmp/app/node_modules/request performance-now@0.2.0 /tmp/app/node_modules/performance-now stringstream@0.0。5 /tmp/app/node_modules/stringstream aws4@1.6.0 /tmp/app/node_modules/aws4 uuid@3.1.0 /tmp/app/node_modules/uuid tunnel-agent@0.6.0 /tmp/app/node_modules/tunnel -agent safe-buffer@5.1.1 /tmp/app/node_modules/safe-buffer strong-cookie@2.3.1 /tmp/app/node_modules/tough-cookie is-typedarray@1.0.0 /tmp/app/node_modules/ is-typedarray http-signature@1.1.1 /tmp/app/node_modules/http-signature sshpk@1.13.1 /tmp/app/node_modules/sshpk asn1@0.2.3 /tmp/app/node_modules/asn1 getpass@0.1。 7 /tmp/app/node_modules/getpass assert-plus@1.0.0 /tmp/app/node_modules/assert-plus dashdash@1.14.1 /tmp/app/node_modules/dashdash assert-plus@0.2.0 /tmp/app /node_modules/http-signature/node_modules/assert-plus jsprim@1.4.0 /tmp/app/node_modules/jsprim json-schema@0.2.3 /tmp/app/node_modules/json-schema verror@1.3。6 /tmp/app/node_modules/jsprim/node_modules/verror extsprintf@1.0.2 /tmp/app/node_modules/jsprim/node_modules/extsprintf har-validator@4.2.1 /tmp/app/node_modules/har-validator har-schema @1.0.5 /tmp/app/node_modules/har-schema ajv@4.11.8 /tmp/app/node_modules/ajv co@4.6.0 /tmp/app/node_modules/co json-stable-stringify@1.0.1 / tmp/app/node_modules/json-stable-stringify jsonify@0.0.0 /tmp/app/node_modules/jsonify aws-sign2@0.6.0 /tmp/app/node_modules/aws-sign2 hawk@3.1.3 /tmp/app /node_modules/hawk sntp@1.0.9 /tmp/app/node_modules/sntp hoek@2.16.3 /tmp/app/node_modules/hoek boom@2.10.1 /tmp/app/node_modules/boom cryptiles@2.0.5 /tmp /app/node_modules/cryptiles qs@6.4.0 /tmp/app/node_modules/qs json-stringify-safe@5.0.1 /tmp/app/node_modules/json-stringify-safe caseless@0.12.0 /tmp/app/ node_modules/caseless isstream@0.1。2 /tmp/app/node_modules/isstream form-data@2.1.4 /tmp/app/node_modules/form-data asynckit@0.4.0 /tmp/app/node_modules/asynckit combine-stream@1.0.5 /tmp/app /node_modules/combined-stream delay-stream@1.0.0 /tmp/app/node_modules/delayed-stream oauth-sign@0.8.2 /tmp/app/node_modules/oauth-sign forever-agent@0.6.1 /tmp/ app/node_modules/forever-agent request-stats@2.0.1 /tmp/app/node_modules/request-stats http-headers@3.0.1 /tmp/app/node_modules/http-headers next-line@1.1.0 /tmp /app/node_modules/next-line once@1.4.0 /tmp/app/node_modules/once wrappy@1.0.2 /tmp/app/node_modules/wrappy safe-regex@1.1.0 /tmp/app/node_modules/safe-正则表达式 ret@0.1.14 /tmp/app/node_modules/ret @sap/audit-logging@1.0.5 /tmp/app/node_modules/@sap/audit-logging moment@2.15.2 /tmp/app/node_modules/moment温斯顿@1.1。2 /tmp/app/node_modules/winston eyes@0.1.8 /tmp/app/node_modules/eyes pkginfo@0.3.1 /tmp/app/node_modules/pkginfo colors@1.0.3 /tmp/app/node_modules/colors async@ 1.0.0 /tmp/app/node_modules/winston/node_modules/async stack-trace@0.0.10 /tmp/app/node_modules/stack-trace cycle@1.0.3 /tmp/app/node_modules/cycle @sap/e2e- trace@1.1.3 /tmp/app/node_modules/@sap/e2e-trace @sap/logging@3.0.0 /tmp/app/node_modules/@sap/logging lodash@4.13.1 /tmp/app/node_modules/@ sap/logging/node_modules/lodash @sap/xsenv@1.2.7 /tmp/app/node_modules/@sap/xsenv verror@1.10.0 /tmp/app/node_modules/verror core-util-is@1.0.2 /tmp /app/node_modules/core-util-is extsprintf@1.3.0 /tmp/app/node_modules/extsprintf send@0.15.3 /tmp/app/node_modules/send range-parser@1.2.0 /tmp/app/node_modules/范围解析器 http-errors@1.6。1 /tmp/app/node_modules/http-errors inherits@2.0.3 /tmp/app/node_modules/inherits depd@1.1.0 /tmp/app/node_modules/http-errors/node_modules/depd setprototypeof@1.0.3 /tmp /app/node_modules/setprototypeof etag@1.8.0 /tmp/app/node_modules/etag mime@1.3.4 /tmp/app/node_modules/mime fresh@0.5.0 /tmp/app/node_modules/fresh destroy@1.0.4 /tmp/app/node_modules/destroy serve-static@1.12.3 /tmp/app/node_modules/serve-static tv4@1.2.7 /tmp/app/node_modules/tv4 urijs@1.16.1 /tmp/app/node_modules/ urijs ws@1.1.4 /tmp/app/node_modules/ws ultron@1.0.2 /tmp/app/node_modules/ultron options@0.0.6 /tmp/app/node_modules/options base64-url@1.2.1 /tmp/ app/node_modules/base64-url scmp@1.0.0 /tmp/app/node_modules/scmp uid-safe@2.0.0 /tmp/app/node_modules/uid-safe bcrypt-pbkdf@1.0.1 /tmp/app/node_modules /bcrypt-pbkdf tweetnacl@0.14。5 /tmp/app/node_modules/tweetnacl ecc-jsbn@0.1.1 /tmp/app/node_modules/ecc-jsbn jsbn@0.1.1 /tmp/app/node_modules/jsbn 安装任何新模块(package.json)—— ---> Caching build Clearing previous node cache Saving 3 cacheDirectories (default): - .npm (nothing to cache) - .cache/yarn (nothing to cache) - bower_components (nothing to cache) Exit status 0 Uploading droplet, build artifacts缓存...上传构建工件缓存...上传液滴...上传构建工件缓存 (14.3M) 上传液滴 (17.6M) Uploading complete Cell 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 stopping instance 6485e7e3-0b40-4db3-8880-dba968c55583 Cell 09aeff0a-17aa-40ac-aee3-dcf077acd6c9 destroying container for instance 6485e7e3-0b40-4db3-8880-dba968c55583 Cell 09aeff0a -17aa-40ac-aee3-dcf077acd6c9 成功销毁容器,例如 6485e7e3-0b40-4db3-8880-dba968c55583

1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个崩溃 FAILED 错误重新启动应用程序:启动不成功

有人可以帮帮我吗?

4

1 回答 1

0

日志消息表明TENANT_HOST_PATTERN无法正确解析该变量的环境变量:ERR VError: environment-settings/tenantHostPattern: Format validation failed (regular expression must contain a capturing group).

TENANT_HOST_PATTERN请为变量指定正确的正则表达式,manifest.yml例如approuter-(.*).cfapps.eu10.hana.ondemand.com(请注意将域替换为您要部署到的环境)。

或者,您可以通过cf set-env approuter TENANT_HOST_PATTERN 'approuter-(.*).cfapps.eu10.hana.ondemand.com'后跟cf restage approuter命令来设置变量。

于 2018-04-24T06:35:44.867 回答