阶段上下文状态代码:YAML_FILE_ERROR 消息:名为“14”的 Nodejs 运行时版本未知。该构建镜像有以下版本:10、12

问题描述 投票:0回答:2

我已将 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 映像上是没有意义的。

谢谢

node.js lambda build aws-codebuild
2个回答
0
投票

当您在 aws codebuild 的测试阶段收到消息时,解决方案很简单。任何消息,例如:

YAML_FILE_ERROR 消息:名为“14”的 Nodejs 运行时版本未知。此构建映像具有以下版本:10、12。

解决方案:进入您的

buildspec.yml
文件并编辑:

phases: 
  install:
    runtime-versions:
      nodejs: 14   

将:

runtime-versions:
nodejs从10、12更改为版本14并保存。然后删除构建项目并重新创建构建并开始构建。会起作用的!

谢谢


0
投票

由于显然没有适用于带有 NodeJS 14 的 Amazon Linux 的 CodeBuild 映像,按照 https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html 有以下选项:

可以通过编辑代码构建项目的环境来选择图像。

© www.soinside.com 2019 - 2024. All rights reserved.