I receive an error when I try a manual or managed update to a newer version of a Node.js solution stack in AWS Elastic Beanstalk.
Your update might fail if your current node version isn't supported by the node version in the solution stack that you're upgrading or downgrading to — that is, the target solution stack.
If your update fails, you might receive an error similar to the following:
"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]".
To resolve this error, choose one of the following options:
- To create a new environment, perform a blue/green deployment.
- To use your existing environment, perform a two-part update based on the steps in the following Resolution section. First, update your Node.js node version, and then update your solution stack.
Important: The following steps are valid only for the discontinued Amazon Linux AMI (also called Amazon Linux 1) based solution stacks. For Amazon Linux 2 based solution stacks, the node version can be changed only by creating a new environment of the matching solution stack. For more information on configuring your version of Node.js on Amazon Linux 2 platforms, see Specifying Node.js dependencies with a package.json file.
- Open the Elastic Beanstalk console.
- In the navigation pane, choose Environments, and then choose your environment.
- In the navigation pane section for your environment, choose Configuration.
- For the Software row in the Category column, choose Edit.
- For Node.js version, select a node version that's supported by your target solution stack.
Important: The node version must be supported by both your current solution stack and target solution stack. For example, if your Elastic Beanstalk environment is running on a 64bit Amazon Linux 2018.03 v4.5.1 running Node.js solution stack with node version 8.11.3, then you can upgrade only to a target solution stack that supports node version 8.11.3. To see what node versions are supported by each type of solution stack, see Node.js platform history.
- To upgrade or downgrade your node version, choose Apply.
- Upgrade or downgrade to the platform version of your target solution stack.