# invalid Node.js version specified: failed to resolve version How to fix it.

URL: https://antideploy.com/blog/node-version-not-available

Your project asks for a Node.js version the builder does not have. Pick one the message lists, in engines.node or a .nvmrc file.

**What you see**

```
ERROR: invalid Node.js version specified: failed to resolve version
matching: >=18 <19 against [the versions the builder offers]
```

## At a glance

- **What it means**: The Node version is not offered
- **The fix**: Change engines.node or .nvmrc
- **The message**: Lists the versions available
- **Old pins**: Fail more often over time

Published 7 October 2026. Facts checked 7 October 2026. 1 min read.

## What it means

Your project asks for a Node.js version range, and the builder has no version in that range. The message names the range and lists the versions it does have. The builder follows current Node.js releases, so a project pinned to an old version can hit this.

## How to fix it

### 1. Pick a version from the list in the message

Choose a major version the message lists, and one your code supports.

### 2. Set it in package.json or .nvmrc

Update the `engines.node` range in `package.json`, or add a `.nvmrc` file that names the version. A `.node-version` file also works.

**package.json**

```
{
  "engines": { "node": ">=22" }
}
```

### 3. Commit and deploy again

A failed deploy never counts against your plan.

## Node version questions, answered.

Anything else? Write to us and a person answers.

[support@antideploy.com](mailto:support@antideploy.com)

### Where does Antideploy read the Node version from?

From `engines.node` in `package.json`, a `.nvmrc` file, or a `.node-version` file.

### What if I set no version?

The builder chooses one.

### Does this failed deploy cost anything?

No. Failed deploys never count against your plan.

## More guides, and the platform.

Each platform page covers one part of Antideploy: what it does, where it stops and the questions people ask. [See the whole platform](https://antideploy.com/platform), or [all the guides](https://antideploy.com/blog).

- [invalid Python version specified: failed to resolve version](https://antideploy.com/blog/python-version-not-available): The builder does not offer the Python version you asked for. Pin one of the versions it lists.
- [npm ci can only install packages when your package.json and package-lock.json are in sync](https://antideploy.com/blog/npm-ci-can-only-install-packages-when-package-json-and-package-lock-json-are-in-sync): The lock file does not match package.json. Run npm install and commit the lock file.
- [How to deploy an Express API with a database](https://antideploy.com/blog/how-to-deploy-an-express-api-with-a-database): The start script, the PORT variable, DATABASE_URL, migrations, and the failures to avoid.

- [Deployments](https://antideploy.com/platform/deployments)
- [Logs and monitoring](https://antideploy.com/platform/logs-and-monitoring)
- [Hosting](https://antideploy.com/platform/hosting)

Facts on this page were checked against the live platform on 7 October 2026.

## Deploy something. Start with one sentence.

Paste one sentence into your coding agent, click Approve once, and get a live link. No card, no trial clock.

To set this up, give your coding agent this sentence:

```text
Set this project up to deploy on Antideploy. Fetch https://antideploy.com/agent.md and follow it.
```
