尝试将 Node.js 项目部署到 Google 应用引擎时出错
Error trying to deploy Node.js project to Google app engine
我正在尝试将我的 node.js 项目部署到我的 App Engine 项目。
我使用的命令是 gcloud preview app deploy app.yaml
.
这是我的 app.yaml 文件:
runtime: nodejs
vm: true
skip_files:
- ^(.*/)?.*/node_modules/.*$
这是我得到的错误:
ERROR: (gcloud.preview.app.deploy) We were unable to detect the runtime to use for this application. Please specify the [runtime] field in your application yaml file or check that your application is configured correctly.
我很确定我已经正确设置了项目,并且还有 gcloud init
我的 gcloud CLI。
如有任何帮助,我们将不胜感激!
编辑:
$ gcloud --version
Google Cloud SDK 99.0.0
bq 2.0.18
bq-nix 2.0.18
core 2016.02.26
core-nix 2016.02.05
gcloud
gsutil 4.17
gsutil-nix 4.15
$ gcloud components list
Your current Cloud SDK version is: 99.0.0
The latest available version is: 99.0.0
┌─────────────────────────────────────────────────────────────────────────────────┐
│ Components │
├───────────────┬─────────────────────────────────┬───────────────────┬───────────┤
│ Status │ Name │ ID │ Size │
├───────────────┼─────────────────────────────────┼───────────────────┼───────────┤
│ Not Installed │ Cloud Datastore Emulator │ gcd-emulator │ 38.1 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 10.1 MiB │
│ Not Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │
│ Not Installed │ gcloud Beta Commands │ beta │ < 1 MiB │
│ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 101.4 MiB │
│ Not Installed │ gcloud app Python Extensions │ app-engine-python │ 7.2 MiB │
│ Not Installed │ kubectl │ kubectl │ 5.2 MiB │
│ Installed │ BigQuery Command Line Tool │ bq │ < 1 MiB │
│ Installed │ Cloud SDK Core Libraries │ core │ 3.9 MiB │
│ Installed │ Cloud Storage Command Line Tool │ gsutil │ 2.6 MiB │
│ Installed │ Default set of gcloud commands │ gcloud │ │
└───────────────┴─────────────────────────────────┴───────────────────┴───────────┘
尝试将 --verbosity=debug 添加到您的 "gcloud preview app deploy" 命令以查看发生了什么。最有可能的是,您的应用程序中存在 gcloud 无法识别的其他内容,例如丢失或无效的 package.json。这被严重报告为无法识别的运行时。
要被识别为 node.js 应用程序,您必须有一个 server.js 文件或一个 package.json 文件,其中 "scripts" 部分指定 [=16] =] 命令。
我正在尝试将我的 node.js 项目部署到我的 App Engine 项目。
我使用的命令是 gcloud preview app deploy app.yaml
.
这是我的 app.yaml 文件:
runtime: nodejs
vm: true
skip_files:
- ^(.*/)?.*/node_modules/.*$
这是我得到的错误:
ERROR: (gcloud.preview.app.deploy) We were unable to detect the runtime to use for this application. Please specify the [runtime] field in your application yaml file or check that your application is configured correctly.
我很确定我已经正确设置了项目,并且还有 gcloud init
我的 gcloud CLI。
如有任何帮助,我们将不胜感激!
编辑:
$ gcloud --version
Google Cloud SDK 99.0.0
bq 2.0.18
bq-nix 2.0.18
core 2016.02.26
core-nix 2016.02.05
gcloud
gsutil 4.17
gsutil-nix 4.15
$ gcloud components list
Your current Cloud SDK version is: 99.0.0
The latest available version is: 99.0.0
┌─────────────────────────────────────────────────────────────────────────────────┐
│ Components │
├───────────────┬─────────────────────────────────┬───────────────────┬───────────┤
│ Status │ Name │ ID │ Size │
├───────────────┼─────────────────────────────────┼───────────────────┼───────────┤
│ Not Installed │ Cloud Datastore Emulator │ gcd-emulator │ 38.1 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 10.1 MiB │
│ Not Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │
│ Not Installed │ gcloud Beta Commands │ beta │ < 1 MiB │
│ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 101.4 MiB │
│ Not Installed │ gcloud app Python Extensions │ app-engine-python │ 7.2 MiB │
│ Not Installed │ kubectl │ kubectl │ 5.2 MiB │
│ Installed │ BigQuery Command Line Tool │ bq │ < 1 MiB │
│ Installed │ Cloud SDK Core Libraries │ core │ 3.9 MiB │
│ Installed │ Cloud Storage Command Line Tool │ gsutil │ 2.6 MiB │
│ Installed │ Default set of gcloud commands │ gcloud │ │
└───────────────┴─────────────────────────────────┴───────────────────┴───────────┘
尝试将 --verbosity=debug 添加到您的 "gcloud preview app deploy" 命令以查看发生了什么。最有可能的是,您的应用程序中存在 gcloud 无法识别的其他内容,例如丢失或无效的 package.json。这被严重报告为无法识别的运行时。
要被识别为 node.js 应用程序,您必须有一个 server.js 文件或一个 package.json 文件,其中 "scripts" 部分指定 [=16] =] 命令。