[英]“functions: not found” during “gcloud app deploy”
我是刚开始将动作Webhooks部署到GCP并尝试从此处简单部署演示api.ai Webhook的新手: https : //github.com/actions-on-google/apiai-webhook-template-nodejs
按照此处的说明进行操作: https : //developers.google.com/actions/samples/
尽管我最近注意到此页面说“这些说明假定您正在使用Google App Engine”。 在“样本/入门”页面中不是有用的句子...
当我运行gcloud app deploy
,它会执行几分钟,然后以:
(请注意,我用“ x”隐藏了某些键的一部分。不确定什么敏感,如果有的话):
$ gcloud app deploy You are about to deploy the following services: - level-up-xxxx/default/20170625t233004 (from [/home/peter/Projects__/xxxx/webhook/app.yaml]) Deploying to URL: [https://level-up-xxxx.appspot.com] Do you want to continue (Y/n)? y If this is your first deployment, this may take a while...done. Beginning deployment of service [default]... Building and pushing image for service [default] ... {DETAILS OMITTED FROM HERE} ... 57fff86xxxxx: Pushed c4a3d3bxxxxx: Pushed 90c3ed3xxxxx: Pushed latest: digest: sha256:6d06015bb56b73145d91884a477463d5bef03dfb24882a07ce46492bxxxxxxxx size: 2626 DONE ------------------------------------------------------------------------------------------------------------------------ Updating service [default]...failed. ERROR: (gcloud.app.deploy) Error Response: [9] Application startup error: > level-up-xxxx@0.0.1 start /app > functions deploy level-up-xxxx --trigger-http sh: 1: functions: not found npm ERR! Linux 3.16.0-4-amd64 npm ERR! argv "/nodejs/bin/node" "/nodejs/bin/npm" "start" npm ERR! node v6.0.0 npm ERR! npm v3.8.6 ...
这似乎是由于尝试“ npm启动”而发生的(大概在GCP服务器上,对吧?)
什么是functions
?
这是我应该部署到的GCP环境中应该存在的东西吗?
看来我不是唯一遇到这种情况的人。 我正在尝试的演示的github页面上也是一个问题: https : //github.com/actions-on-google/apiai-webhook-template-nodejs/issues/1
UPDATE1:我发现我没有为相关的GCP项目启用“云功能API”。 奇怪的是,启用它似乎没有什么区别 。 (被发现时,我以为这肯定是我的问题!但是不...)
UPDATE2:我还发现这里的'deploy'命令似乎想要(导出的)函数名称,而不是项目名称,因此我从“ deploy level-up-xxx”更改为“ deploy levelUpXxxx”。 但是仍然没有喜悦。
UPDATE3:我遇到了这个“较旧的”命令序列,该序列仍在以下位置进行记录: https ://cloud.google.com/functions/docs/tutorials/http似乎可以成功部署:(但我尚未确认与我尝试开始的“应用程序部署”足够等效)
(@Prisoner告诉我这些不是“较旧的”,而是完全不同的GCP内容...)
$ gsutil mb gs://level-up-xxxx $ gcloud beta functions deploy LevelUpXxxx --stage-bucket level-up-xxxx --trigger-http
仍然希望/需要使宣传的(非Beta版)“ gcloud应用程序部署”功能正常工作...
对发生的事情非常困惑...
我在台式机上使用的npm版本可能会出现问题吗? 即太新了? 难道将项目打包错了,并且在GCP内部不满意? 只是一个理论...我真的不知道这一切如何工作...
事实证明,这里的主要原因是(在撰写本文时), https://developers.google.com/actions/samples/上的演示说明指示使用gcloud app
,而演示本身似乎具有已被“升级”(?)以使用gcloud beta functions
。
如果您是GCP的新手,那会很令人困惑。 (Google最好投入更多的资源来保持其doco的最新状态...)
感谢指针@Prisoner。 答案已授予。
您正在混合两种不同的无服务器Google Cloud环境。
gcloud app
一些东西部署到Google App Engine。 您并未显示所有配置文件,但可能需要更多配置才能部署到App Engine环境。 (您可以部署到运行Node的App Engine,但还有更多功能。)
gcloud beta functions
某些内容部署到仍处于beta中的Google Cloud Functions。 (但是请记住... Google多年来一直保持产品和服务在Beta版中运行良好的状态...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.