我在使用 App Engine 通过 Google Cloud Platform 正确部署任何东西时遇到了很多困难。
应用.yaml
runtime: nodejs8
#env: flex
beta_settings:
cloud_sql_instances: my-project:us-central1:my-db
我正在使用以下 cmd 进行部署:
gcloud app deploy --project=my-project
与灵活环境相比,我更愿意使用标准环境,因此我注释掉了 env:flex。部署后,我会收到一个错误,指出 nodejs 不是有效的运行时,因此我将其从 nodejs 更改为 nodejs8。我可以通过以下方式成功部署到灵活的环境:
env: flex
runtime: nodejs
但我无法部署使用:
runtime: nodejs8
错误是:
Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] Error importing container
images.
最佳答案
App Engine Flex 中的默认 Node.js 版本取自最新的 LTS(长期支持)版本。如果要指定版本,可以在应用程序的 package.json 文件中使用 engines 字段来指定。
{
"engines": {
"node": "8.x"
}
}
在此链接中,您可以找到有关如何在 App Engine Flex 环境中更改 Node.js 版本的更深入的解释
关于google-app-engine - GCP App Engine 标准部署失败,灵活部署成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554757/