我已将 github 项目的节点版本从 12 更新到 14,我必须将节点版本从 12 更新到 14,然后将其部署到 aws,但它给出此错误:阶段上下文状态代码:YAML_FILE_ERROR 消息:未知运行时Nodejs 的版本名为“14”。此构建映像具有以下版本:10、12。我不明白为什么会收到此错误。
在 aws codebuild-details 中 图片:aws/codebuild/amazonlinux2-x86_64-standard:2.0 环境:Linux
提前致谢
我想尝试使用 NodeJS 14 的图像,即 aws/codebuild/standard:5.0,但此更改将使我们解决 CodeBuild 中的问题,但我认为可能会产生一些意想不到的副作用。看起来 lambda 是在 Amazon Linux 上运行的,所以我认为将 apollo-server lambda 打包在 ubuntu 映像上是没有意义的。
谢谢
当您在 aws codebuild 的测试阶段收到消息时,解决方案很简单。任何消息,例如:
YAML_FILE_ERROR 消息:名为“14”的 Nodejs 运行时版本未知。此构建映像具有以下版本:10、12。
解决方案:进入您的
buildspec.yml
文件并编辑:
phases:
install:
runtime-versions:
nodejs: 14
将:
runtime-versions:
nodejs从10、12更改为版本14并保存。然后删除构建项目并重新创建构建并开始构建。会起作用的!
谢谢
由于显然没有适用于带有 NodeJS 14 的 Amazon Linux 的 CodeBuild 映像,按照 https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html 有以下选项:
可以通过编辑代码构建项目的环境来选择图像。