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
?
Advertisement
Answer
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, or https://github.com/npm/node-semver#versions