Skip to content

安装依赖时检查 node version & npm version #76

@hawtim

Description

@hawtim

package.json

"scripts": {
    "postinstall": "node ./scripts/checkNodeVersion.js"
  },
"engines": {
    "node": ">=12.17.1 <=14.19.1",
    "npm": ">=5.0.0 < 7.0.0"
  },

./scripts/checkNodeVersion.js

const semver = require('semver');
const { engines } = require('../package.json');

const nodeVersion = engines.node;
const npmVersion = engines.npm;

const currentNpmVersion = require('child_process')
  .execSync('npm --version').toString()

const currentNodeVersion = process.version

if (!semver.satisfies(currentNpmVersion, npmVersion)) {
  console.error(`Current npm version ${currentNpmVersion} is not satisfied with required npm version ${npmVersion}`);
  process.exit(1);
}

if (!semver.satisfies(currentNodeVersion, nodeVersion)) {
  console.error(`Current node version ${currentNodeVersion} is not satisfied with required node version ${version}`);
  process.exit(1);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions