I have a Node.js project that requires Node version 12 or higher. Is there a way to specify this in the packages.json
file, so that the installer will automatically check and inform the users if they need to upgrade?
I think you can use the "engines" field:
{ "engines" : { "node" : ">=0.12" } }
As you're saying your code definitely won't work with any lower versions, you probably want the "engineStrict" flag too:
{ "engineStrict" : true }
Documentation for the package.json file can be found on the npmjs site
Update
engineStrict
is now deprecated, so this will only give a warning. It's now down to the user to run npm config set engine-strict true
if they want this.
Update 2
As ben pointed out below, creating a .npmrc
file at the root of your project (the same level as your package.json file) with the text engine-strict=true
will force an error during installation if the Node version is not compatible.