Node Engine 8. X or 10. X in Package. Json

Node Engine 8. X or 10. X in Package. Json

I tried to specify the node engine in a package.json to accept both 8 and 10 version.

I tried to type this:

"engines": {
  "node": "8.x|10.x"
},

But running yarn results in:

The engine "node" is incompatible with this module. Expected version "8.x|10.x"

If I replace with:

"engines": {
  "node": "10.x"
},

... it works (i.e no error).

Is there a way to accept two versions of node engine in a package.json?

2 Answers

See the documentation which includes examples.

Provide a space separated list of engines with greater/less than symbols.

{ 
  "engines" : { 
    "node" : ">=8.0.0 <11.0.0" 
  }
}
2

You just need the double pipe || instead of a single.

"engines": {
  "node": "^8 || ^10"
}

Would match either v8.x.x or v10.x.x but not v9.

You can read more about it here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.