【问题标题】:npm ERR! semver.simplifyRange is not a functionnpm 错误! semver.simplifyRange 不是函数
【发布时间】:2021-06-18 02:13:55
【问题描述】:

尝试遵循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。

【问题讨论】:

  • 我在尝试以下操作时遇到同样的错误: - 使用 npx 初始化一个 react-native 项目。 npx init react-native myProject - 使用 npm install -g react-native 全局安装 react-native 我有相同版本的 npm 和 node

标签: javascript node.js express npm express-generator


【解决方案1】:

我的解决方案是安装旧版本的 semver 并将 npm 本身更新到版本 7.7.0。 我使用了命令:

sudo npm install -g semver@7.2.0

然后

sudo npm install -g npm@7.7.0

成功后

【讨论】:

  • 对我来说刚刚工作sudo npm install -g semver@7.2.0 ❯ node -v v15.11.0 ❯ npm -v 7.6.3
【解决方案2】:

在包管理器的另一轮更新之后,我遇到了更多问题(请参阅this question)。

从上面链接的问题中,我发现直接从nodejs website 安装节点是一种更持久、更强大的解决方案。

【讨论】:

    猜你喜欢
    • 2018-11-08
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多