如何在 Elastic Beanstalk 中更新到较新版本的 Node.js 解决方案堆栈?

上次更新时间:2020 年 4 月 23 日

当我尝试在 AWS Elastic Beanstalk 中执行托管更新或手动更新,以更新到较新版本的 Node.js 解决方案堆栈时,我收到了有关版本不匹配的错误消息。如何解决此错误?

简短描述

如果您要升级到或降级到的解决方案堆栈(目标解决方案堆栈)版本不支持当前节点版本,则更新可能会失败。

如果更新失败,您可能会收到与以下类似的错误消息:

=============
"Failed Environment update activity. Reason: Configuration validation exception: Invalid option value: '4.8.4' (Namespace: 'aws:elasticbeanstalk:container:nodejs', OptionName: 'NodeVersion'): Value is not one of the allowed values: 
[4.8.7, 4.9.1, 5.12.0, 6.15.1, 6.16.0, 6.17.0, 6.17.1, 7.10.1, 8.14.0, 8.15.0, 8.15.1, 8.16.0, 8.16.1, 8.16.2, 8.17.0, 10.14.1, 10.15.0, 10.15.1, 10.15.3, 10.16.0, 10.16.1, 10.16.2, 10.16.3, 10.17.0, 10.18.0, 10.18.1, 10.19.0, 12.14.0, 12.14.1, 12.15.0, 12.16.1]".
=============

要解决此错误,请选择以下任意一种方法:

  • 执行蓝/绿部署以创建新的环境。
  • 遵循下文解决方法部分中描述的步骤,执行两步更新以使用现有的环境:首先更新 Node.js 节点版本,然后再更新解决方案堆栈。

解决方法

  1. 打开 Elastic Beanstalk 控制台
  2. 在导航窗格中选择环境,然后选择您的计算环境。
  3. 在导航窗格中,在您的环境部分选择配置
  4. 对于类别列中的软件行,选择编辑
  5. 对于 Node.js 版本,请选择您的目标解决方案堆栈支持的节点版本。
    重要提示:节点版本必须是当前解决方案堆栈和目标解决方案堆栈都支持的版本。例如,如果您的 Elastic Beanstalk 环境在 运行 Node.js 的 64 位 Amazon Linux 2018.03 v4.5.1 解决方案堆栈上运行,节点版本为 8.11.3,则您仅可以升级到支持节点版本 8.11.3 的目标解决方案堆栈。要查看各解决方案堆栈类型支持的节点版本,请参阅 Node.js 平台历史记录
  6. 要升级或降级您的节点版本,请选择应用
  7. 升级或降级到目标解决方案堆栈的平台版本

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?