AWS CodeBuild error: Major version of alias '14.x' is not supported in runtime 'nodejs'
AWS CodeBuild error: Major version of alias '14.x' is not supported in runtime 'nodejs'
我对 AWS CodeBuild 有一个困惑的问题。我收到以下错误:
Major version of alias '14.x' is not supported in runtime 'nodejs'
当我将构建规范更新为简单的“14”时,我得到了关于错误的更多信息:
Message: Unknown runtime version named '14' of nodejs. This build image has the following versions: 10, 12
我们已经使用此 CodeBuild 项目很长时间了,使用 12.x,现在需要更新到 14.x。我们更新了构建规范如下:
version: 0.2
phases:
install:
runtime-versions:
nodejs: 14.x
build:
commands:
- "npm i"
- "npm run build"
- "npm run db:migrate"
artifacts:
files:
- "all"
- "of"
- "our"
- "files"
此外,我们的 CodeBuild 已经在最新版本的 CodeBuild 镜像上。我什至重新构建了 CodeBuild 项目以确保它是最新的并且仍然是同一个问题:
aws/codebuild/amazonlinux2-x86_64-standard:3.0
提前感谢您的任何建议。
谢天谢地,我们现在已经解决了这个问题!
问题出在 CodeBuild 图像上:
aws/codebuild/amazonlinux2-x86_64-standard:3.0
根据 the available runtimes documentation 事实证明我们根本无法使用亚马逊 Linux 2,我们不得不更改为“Ubuntu 标准 5”。
我希望这对以后的人有所帮助。
如果您确实需要使用 Amazon Linux 2 而不是 Ubuntu,您可以使用 CodeBuild 中预安装的 n 包安装 Node 14:
version: 0.2
phases:
install:
commands:
- n 14.18.3
build:
commands:
- npm i #etc
在我们的例子中,我们需要在 Lambda 中构建对 运行 的依赖项。由于 Lambda 运行 是 Amazon Linux 2 的一个版本,因此在 Ubuntu 中构建这些依赖关系不起作用(出于复杂的子依赖关系原因)。
尝试过但没有成功:
- uninstall and install node in CodeBuild:当我们运行
node --version
时它仍然说12
- 使用 nvm 安装和管理版本:运行 遇到问题让
nvm
命令注册
然后我们意识到和管理节点版本。
最终,不需要复杂的命令。
select 从这里支持您的运行时的构建镜像 https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html
我对 AWS CodeBuild 有一个困惑的问题。我收到以下错误:
Major version of alias '14.x' is not supported in runtime 'nodejs'
当我将构建规范更新为简单的“14”时,我得到了关于错误的更多信息:
Message: Unknown runtime version named '14' of nodejs. This build image has the following versions: 10, 12
我们已经使用此 CodeBuild 项目很长时间了,使用 12.x,现在需要更新到 14.x。我们更新了构建规范如下:
version: 0.2
phases:
install:
runtime-versions:
nodejs: 14.x
build:
commands:
- "npm i"
- "npm run build"
- "npm run db:migrate"
artifacts:
files:
- "all"
- "of"
- "our"
- "files"
此外,我们的 CodeBuild 已经在最新版本的 CodeBuild 镜像上。我什至重新构建了 CodeBuild 项目以确保它是最新的并且仍然是同一个问题:
aws/codebuild/amazonlinux2-x86_64-standard:3.0
提前感谢您的任何建议。
谢天谢地,我们现在已经解决了这个问题!
问题出在 CodeBuild 图像上:
aws/codebuild/amazonlinux2-x86_64-standard:3.0
根据 the available runtimes documentation 事实证明我们根本无法使用亚马逊 Linux 2,我们不得不更改为“Ubuntu 标准 5”。
我希望这对以后的人有所帮助。
如果您确实需要使用 Amazon Linux 2 而不是 Ubuntu,您可以使用 CodeBuild 中预安装的 n 包安装 Node 14:
version: 0.2
phases:
install:
commands:
- n 14.18.3
build:
commands:
- npm i #etc
在我们的例子中,我们需要在 Lambda 中构建对 运行 的依赖项。由于 Lambda 运行 是 Amazon Linux 2 的一个版本,因此在 Ubuntu 中构建这些依赖关系不起作用(出于复杂的子依赖关系原因)。
尝试过但没有成功:
- uninstall and install node in CodeBuild:当我们运行
node --version
时它仍然说12 - 使用 nvm 安装和管理版本:运行 遇到问题让
nvm
命令注册
然后我们意识到
最终,不需要复杂的命令。
select 从这里支持您的运行时的构建镜像 https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html