npm:在 linux ubuntu 中使用 npm 命令时找不到模块 semver 错误

npm: cannot find module semver error while using npm command in linux ubuntu

当我使用 npm 时,出现此错误。每个 npm 命令最终都会显示以下错误 (Ubuntu 20.04):

internal/modules/cjs/loader.js:834
  throw err;
  ^

Error: Cannot find module 'semver'
Require stack:
- /usr/share/npm/lib/utils/unsupported.js
- /usr/share/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Module.require (internal/modules/cjs/loader.js:903:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/usr/share/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:1015:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
    at Module.load (internal/modules/cjs/loader.js:879:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:903:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/share/npm/lib/utils/unsupported.js',
    '/usr/share/npm/bin/npm-cli.js'
  ]
}

如果您 运行 一个 npm 命令来启动您的代码,您的代码将做的一件事是从代码中的 require('') 行获取模块。但是问题是,它正在获取一个名为 semver 的模块,但找不到它。这可能意味着它没有安装。尝试 运行宁 npm install semver

我只是重新安装了所有 Node.js 个版本,错误消失了!

编辑:同时使用yarn和npm导致的错误。 通过删除其中之一,问题应该得到解决。