Reputation: 236
I am trying to deploy my node.js project to my App Engine project.
the command I use is gcloud preview app deploy app.yaml
.
This is my app.yaml file:
runtime: nodejs
vm: true
skip_files:
- ^(.*/)?.*/node_modules/.*$
and this is the error I get:
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.
I'm pretty sure I have set up the project correctly, and have also gcloud init
my gcloud CLI.
Any help'd be appreciated!
EDIT:
$ 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 │ │
└───────────────┴─────────────────────────────────┴───────────────────┴───────────┘
Upvotes: 6
Views: 3682
Reputation: 76
Try adding --verbosity=debug to your "gcloud preview app deploy" command to see what's going on. Most likely, there's something else about your application that gcloud doesn't recognize, like a missing or invalid package.json. This is being badly reported as an unrecognized runtime.
To be recognized as a node.js app, you must either have a server.js file or have a package.json file with a "scripts" section specifying a "start" command.
Upvotes: 6