16

我正在尝试在 flex 环境中部署应用引擎节点服务。下面是我的配置app.yaml

runtime: nodejs8
env: flex

#to name a service use below syntax
service: exampleNodeApp

env_variables:
  NODE_ENV: "dev"
  PORT: 3000

skip_files: 
  .env

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

该配置将使用 node8 映像。我package.json的如下

{
  "name": "expressapp",
  "version": "1.0.0",
  "private": true,
  "main": "./bin/www",
  "scripts": {
     "start": "node ./bin/www",
   },
  "dependencies": {
      "express": "~4.16.3",
   }
}

我试过指定引擎也喜欢

{
   "node": "~8.*"
}

并查看我使用的调试日志

gcloud app deploy --version default1 --verbosity=debug

我得到的错误如下。即使尝试了所有方法也无法解决。我的应用程序在本地运行良好。请帮忙!

--update-- 错误日志

UnsatisfiedRequirementsError: Your application does not satisfy all of  the requirements for a runtime of type [nodejs8].  Please correct the errors and try again.
ERROR: (gcloud.app.deploy) Your application does not satisfy all of the requirements for a runtime of type [nodejs8].  Please correct the errors and try again.
4

1 回答 1

27

谷歌文档中的定义有些错误(未明确)。

runtime: nodejs8仅适用于标准环境。但是对于 flex环境,env: flex只有 nodejs 可以作为参数给出。gcloud 运行时构建器没有类似 nodejs8 的任何东西。

仍在试图弄清楚给定节点的版本是什么runtime: nodejs

将很快更新。

为了进一步参考这里是我如何找到解决方案 https://github.com/GoogleCloudPlatform/nodejs-docs-samples/issues/651

于 2018-11-11T11:28:45.357 回答