简体   繁体   中英

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.

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 semver@7.2.0

and then

sudo npm install -g npm@7.7.0

After it worked

After another another round of updates from the package manager, I ran into more problems (See this question ).

From the question linked above I found installing node directly from the nodejs website to be a more permanent and robust solution.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM