serverless.yml 中的运行时变量未设置节点版本
Posted
技术标签:
【中文标题】serverless.yml 中的运行时变量未设置节点版本【英文标题】:Runtime variable in serverless.yml isn't setting node version 【发布时间】:2019-11-14 15:33:50 【问题描述】:我在 aws 上运行 lambda 函数并使用无服务器进行部署。将 node 从 6.10 更新到 10.16,我用 n 更新了 nodejs,并将 serverless.yml 文件中的“runtime”行更改为:
provider:
name: aws
runtime: nodejs10.16
stage: prod
region: us-west-2
当我使用无服务器进行部署时,我收到以下消息:
Serverless Error ---------------------------------------
An error occurred: GetLaunchEventListLambdaFunction - The runtime
parameter of nodejs6.10 is no longer supported for creating or updating
AWS Lambda functions. We recommend you use the new runtime
(nodejs10.x) while creating or updating functions. (Service:
AWSLambdaInternal; >Status code: 400; Error Code:
InvalidParameterValueException; Request >ID: abc26ccc-9289-431f-abd6-
61a73bdb4c2e).
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information -----------------------------
OS: linux
Node Version: 6.10.3
Serverless Version: 1.27.3
我错过了什么?
【问题讨论】:
我必须进入 AWS 控制台并更改运行时(节点版本) - 然后它将允许 cloudformation/serverless 更新 【参考方案1】:正确的语法应该是runtime: nodejs10.x
,但我来到这里是因为即使(我想是)正确的语法我也有同样的问题。
【讨论】:
这为我修好了,谢谢。你得到它为你工作了吗? 我还尝试了 Anatolii Bivol 在评论中写的内容,但也没有用。最后我删除了堆栈并再次重新部署以上是关于serverless.yml 中的运行时变量未设置节点版本的主要内容,如果未能解决你的问题,请参考以下文章
无法在 serverless.yml 中引用 CloudFormation 资源。变量 UserPoolId 的变量引用语法无效
如何在 serverless.yml 文件中获取 AccountId 作为变量?
无法解析“serverless.yml”:映射条目的缩进错误