我对 AWS CodeBuild 有一个令人困惑的问题。我收到以下错误:
Major version of alias '14.x' is not supported in runtime 'nodejs'
Run Code Online (Sandbox Code Playgroud)
当我将构建规范更新为“14”时,我得到了有关错误的更多信息:
Message: Unknown runtime version named '14' of nodejs. This build image has the following versions: 10, 12
Run Code Online (Sandbox Code Playgroud)
我们已经使用这个 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"
Run Code Online (Sandbox Code Playgroud)
此外,我们的 CodeBuild 已采用最新版本的 CodeBuild 映像。我什至重新构建了 CodeBuild 项目,以确保它是最新的并且仍然存在相同的问题:
aws/codebuild/amazonlinux2-x86_64-standard:3.0
预先感谢您的任何建议。
小智 18
如果您确实需要使用 Amazon Linux 2 而不是 Ubuntu,则可以使用 CodeBuild 中预安装的n软件包安装 Node 14:
version: 0.2
phases:
install:
commands:
- n 14.18.3
build:
commands:
- npm i #etc
Run Code Online (Sandbox Code Playgroud)
在我们的例子中,我们需要构建依赖项以在 Lambda 中运行。由于 Lambda 运行 Amazon Linux 2 版本,因此在 Ubuntu 中构建这些依赖项不起作用(由于复杂的子依赖项原因)。
尝试过但没有成功:
node --version它仍然显示 12nvm命令注册时遇到问题然后我们意识到n 已经预先安装在 CodeBuild 中并管理节点版本。
最后,不需要复杂的命令。
| 归档时间: |
|
| 查看次数: |
17743 次 |
| 最近记录: |