What is npm-install-checks?
The npm-install-checks package provides utility functions to check the environment and other conditions before proceeding with npm installations. It is primarily used to ensure that the system meets the necessary requirements for a successful package installation, such as node and npm version checks, platform compatibility, and engine requirements.
What are npm-install-checks's main functionalities?
Check Node Version
This function checks if the current Node.js version meets the specified version requirements. It throws an error if the requirement is not met, allowing developers to handle version incompatibility gracefully.
const { checkNodeVersion } = require('npm-install-checks');
try {
checkNodeVersion('>=10.0.0', process.version);
console.log('Node version is compatible.');
} catch (err) {
console.error('Incompatible Node version:', err);
}
Check Platform
This function verifies if the user's operating system and CPU architecture match the specified criteria. It is useful for ensuring that a package is installed on compatible platforms, preventing runtime errors due to platform incompatibilities.
const { checkPlatform } = require('npm-install-checks');
try {
checkPlatform({ os: ['darwin', 'linux'], cpu: ['x64'] });
console.log('Platform is compatible.');
} catch (err) {
console.error('Incompatible platform:', err);
}
Other packages similar to npm-install-checks
check-node-version
Similar to npm-install-checks, check-node-version allows developers to ensure that the Node.js, npm, and yarn versions meet the project's requirements. Unlike npm-install-checks, which is more focused on pre-install checks, check-node-version can be used more flexibly at various stages of development.
envinfo
While envinfo does not directly perform checks, it gathers detailed information about the development environment, which can be used to manually or programmatically verify compatibility. It provides a broader range of information compared to npm-install-checks, which is specifically tailored for npm installation conditions.
npm-install-checks
Check the engines and platform fields in package.json
API
Both functions will throw an error if the check fails, or return
undefined
if everything is ok.
Errors have a required
and current
fields.
.checkEngine(pkg, npmVer, nodeVer, force = false)
Check if a package's engines.node
and engines.npm
match the running system.
force
argument will override the node version check, but not the npm
version check, as this typically would indicate that the current version of
npm is unable to install the package properly for some reason.
Error code: 'EBADENGINE'
.checkPlatform(pkg, force, environment)
Check if a package's os
, cpu
and libc
match the running system.
force
argument skips all checks.
environment
overrides the execution environment which comes from process.platform
and process.arch
by default. environment.os
and environment.cpu
are available.
Error code: 'EBADPLATFORM'