为什么我在使用任何“nx”命令时出现错误

Vin*_*onz 12 angular nrwl-nx

使用的命令:nx

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

Error: Cannot find module '@nrwl/workspace/src/command-line/supported-nx-commands'
Require stack:
- /Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/lib/init-local.js
- /Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/bin/nx.js
- /usr/local/lib/node_modules/@nrwl/cli/lib/init-global.js
- /usr/local/lib/node_modules/@nrwl/cli/bin/nx.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
    at Function.Module._load (internal/modules/cjs/loader.js:862:27)
    at Module.require (internal/modules/cjs/loader.js:1040:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.initLocal (/Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/lib/init-local.js:12:33)
    at Object.<anonymous> (/Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/bin/nx.js:12:18)
    at Module._compile (internal/modules/cjs/loader.js:1151:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10)
    at Module.load (internal/modules/cjs/loader.js:1000:32)
    at Function.Module._load (internal/modules/cjs/loader.js:899:14) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/lib/init-local.js',
    '/Users/shawntony/projects/ktp-web/node_modules/@nrwl/cli/bin/nx.js',
    '/usr/local/lib/node_modules/@nrwl/cli/lib/init-global.js',
    '/usr/local/lib/node_modules/@nrwl/cli/bin/nx.js'
  ]
}
Run Code Online (Sandbox Code Playgroud)

FYE*_*FYE 21

我自己也刚刚遇到这个问题。通过删除我的所有 node_modules、验证 npm 缓存、更新我的全局 @nrwl-cli 并重新安装来修复它。简而言之:

  1. rm -rf node_modules
  2. npm cache verify
  3. npm install -g @nrwl/cli
  4. npm install

不确定到底是怎么回事,但我认为项目或缓存中的某些 @nrwl 模块版本存在某种不一致。

  • 第一步不在我的 Windows 引擎上运行,但我切换到应用程序文件夹并使用“rmdir /q/s node_modules”删除了 node_module (2认同)

小智 6

只是想在 FYE 答案中添加一个快速要点。如果您在 Windows 上运行这些命令,-rf标签可能不适合您,请-r改用

rm -r node_modules
Run Code Online (Sandbox Code Playgroud)

它将递归删除所有文件。

如果还有一些隐藏文件,您可以使用 -Force 标签,如下所示 -

rm -r -fo node_modules
Run Code Online (Sandbox Code Playgroud)