Need Project Manager

    TypeScript icon, indicating that this package has built-in type declarations

    4.2.1 • Public • Published


    NPM version AppVeyor build status Travis build status

    Check installed versions of node, npm, npx, yarn, and pnpm.


    npm: check-node-version

    npm install check-node-version

    Command Line Usage

          check-node-version [OPTIONS]
          check-node-version will check if the current node, npm, npx, yarn and pnpm
          versions match the given semver version ranges.
          If the given version is not satisfied, information about
          installing the needed version is printed and the program exits
          with an error code.
          --node VERSION
                Check that the current node version matches the given semver
                version range.
          --npm VERSION
                Check that the current npm version matches the given semver
                version range.
          --npx VERSION
                Check that the current npx version matches the given semver
                version range.
          --yarn VERSION
                Check that the current yarn version matches the given semver
                version range.
          --pnpm VERSION
                Check that the current pnpm version matches the given semver
                version range.
                Use the "engines" key in the current package.json for the
                semver version ranges.
                Use the versions pinned by Volta in the package.json
          -p, --print
                Print installed versions.
          -h, --help
                Print this message.


    Check for node 6, failing

    Check for node 6, but have 8.2.1 installed.

    $ check-node-version --node 6
    node: 8.2.1
    Error: Wanted node version 6 (>=6.0.0 <7.0.0)
    To install node, run `nvm install 6` or see
    $ echo $?

    Check for node 6, passing

    If all versions match, there is no output:

    $ check-node-version --node 6
    $ echo $?

    Check for multiple versions simultaneously

    You can check versions of any combinations of node, npm, npx, yarn, and pnpm at one time.

    $ check-node-version --node 4 --npm 2.14 --npx 6 --yarn 0.17.1 --pnpm 6.20.1

    Check for volta pinned versions

    You can check versions pinned by Volta:

    $ check-node-version --volta

    Print installed versions

    Use the --print option to print currently installed versions. If given a tool to check, only that will be printed. Otherwise, all known tools will be printed. Notes a missing tool.

    $ check-node-version --print --node 11.12
    node: 11.12.0
    $ echo $?
    $ check-node-version --print
    yarn: not found
    node: 11.12.0
    npm: 6.9.0
    npx: 10.2.0

    NOTE: Both preceding examples show that this works equally cross-platform, the first one being a *nix shell, the second one running on Windows.

    NOTE: As per Issue 36, non-semver-compliant versions (looking at yarn here) will be handled similarly to missing tools, just with a different error message.

    At the time of writing, we think that

    1. all tools should always use semver
    2. exceptions are bound too be very rare
    3. preventing a crash is sufficient

    Consequently, we do not intend to support non-compliant versions to any further extent.

    Use with a .nvmrc file

    $ check-node-version --node $(cat .nvmrc) --npm 2.14

    Use with npm test

      "name": "my-package",
      "devDependencies": {
        "check-node-version": "^1.0.0"
      "scripts": {
        "test": "check-node-version --node '>= 4.2.3' && node my-tests.js"

    API Usage

    This module can also be used programmatically. Pass it an object with the required versions of node, npm, npx, yarn and/or pnpm followed by a results handler.

    const check = require("check-node-version");
        { node: ">= 18.3", },
        (error, result) => {
            if (error) {
            if (result.isSatisfied) {
                console.log("All is well.");
            console.error("Some package version(s) failed!");
            for (const packageName of Object.keys(result.versions)) {
                if (!result.versions[packageName].isSatisfied) {
                    console.error(`Missing ${packageName}.`);

    See index.d.ts for the full input and output type definitions.


    npm i check-node-version

    DownloadsWeekly Downloads






    Unpacked Size

    25.5 kB

    Total Files


    Last publish


    • parshap