Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

npm ERR! semver.simplifyRange is not a function

Trying to follow the Express getting started tutorial.

I generated an app and ran npm install following the provided instructions.

> npx express-generator --view=pug myapp
> npm install
npm ERR! semver.simplifyRange is not a function
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2021-03-21T04_58_39_577Z-debug.log

The relevant portion from the log

555 http fetch GET 200 https://registry.npmjs.org/longest/-/longest-1.0.1.tgz 706ms
556 timing reifyNode:node_modules/longest Completed in 751ms
557 timing metavuln:cache:get:security-advisory:transformers:qlM2fO34VL+rWNeim/6QsbBJFfHtRf4Z7FAoL1JLqVXlvg5FMRxw1WstcKR09WDDJCiJsPPrdRJugEOTZ6eGZA== Completed in 22ms
558 verbose stack TypeError: semver.simplifyRange is not a function
558 verbose stack     at Advisory.[calculateRange] (/usr/lib/node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js:191:16)
558 verbose stack     at Advisory.load (/usr/lib/node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js:148:28)
558 verbose stack     at Calculator.[calculate] (/usr/lib/node_modules/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js:59:14)
558 verbose stack     at async Promise.all (index 0)
558 verbose stack     at async Map.[init] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:177:7)
558 verbose stack     at async Map.run (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/audit-report.js:105:7)

New to node and I have no idea what this means. Looks to be a problem with npm and not Express?

I tried running npm cache clean --force and deleting node_modules but neither helped.

If it is relevant, npm version 7.6.3 and node version 15.11.0.

like image 718
Increasingly Idiotic Avatar asked Mar 21 '21 05:03

Increasingly Idiotic


People also ask

What is SemVer in NPM?

SemVer stands for Semantic Versioning. NPM stands for Node Package Manager. Because there can be different versions of a module that is installable, and the need to install various versions can differ, there exists what we call SemVer. NPM is used to install packages or modules in NodeJS.

Does NPM require SemVer?

The Node Package Manager (npm) ecosystem uses Semantic Versioning, or SemVer, as the standard for version numbers. By default, when installing an npm package without specifying a version, npm installs the latest version published to the NPM registry.


1 Answers

My solution was to install older version of semver and update npm itself to version 7.7.0. I used the commands:

sudo npm install -g [email protected]

and then

sudo npm install -g [email protected]

After it worked

like image 172
mstrewe Avatar answered Sep 21 '22 13:09

mstrewe