Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including node-version-resolver with all npm packages installed. Try it out:

var nodeVersionResolver = require("node-version-resolver")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-version-resolver v0.2.7

Give me a semver range and I'll tell you the latest node version that satisfies it.


Give me a semver range and I'll tell you the latest node version that satisfies it.

node-version-resolver is a node module that can be use programatically or from the command line. It downloads a list of all Node.js versions from and exposes a simple API for selecting the latest stable (and unstable) versions, as well as matching the version list against a semver range.

node-version-resolver's functionality is also available as an HTTP webservice at

Note: 0.8.6 is the oldest available version of node returned by this library. This choice was made because does not provide builds of older versions.


npm install node-version-resolver --save

Command-Line Usage

Pass a semver range argument to find what version of Node.js currently satisfies it:

node-version-resolver 0.10.x
# 0.10.22

Or omit the argument to get the latest stable version:

# 0.10.22

Programmatic Usage

See test/


node-version-resolver is designed to work even if is down or slow to respond. If the GET request to takes too long to resolve, a local copy of cache/node.html file will be loaded instead. To update the cached file, run:

npm run updateCache


npm test

  ✓ has an array of all versions
  ✓ has an array of stable versions
  ✓ has a latest_stable version
  ✓ has a latest_unstable version
  ✓ defaults to latest stable version when given crazy input
  ✓ honors explicit version strings
  ✓ matches common patterns to stable version
  ✓ uses latest unstable version when request version is beyond stable version
  ✓ becomes latest_stable
  ✓ satisfies stable-seeking ranges
  ✓ still resolves unstable ranges
  ✓ still resolves versions at a higher patchlevel than the override


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free