簡體   English   中英

npm 錯誤。 semver.simplifyRange 不是 function

[英]npm ERR! semver.simplifyRange is not a function

嘗試遵循Express入門教程。

我生成了一個應用程序並按照提供的說明運行npm install

> 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

日志中的相關部分

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)

新節點,我不知道這意味着什么。 看起來是 npm 而不是 Express 的問題?

我嘗試運行npm cache clean --force並刪除node_modules但都沒有幫助。

如果相關,npm 版本 7.6.3 和節點版本 15.11.0。

我的解決方案是安裝舊版本的 semver 並將 npm 本身更新到版本 7.7.0。 我使用了以下命令:

sudo npm install -g semver@7.2.0

接着

sudo npm install -g npm@7.7.0

工作后

在 package 管理器的另一輪更新之后,我遇到了更多問題(參見這個問題)。

從上面鏈接的問題中,我發現直接從nodejs 網站安裝 node 是一種更持久、更強大的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM