超出最大调用堆栈大小;删除 node_modules 和 package-lock.json 和 运行 'npm i' 无效

Maximum call stack size exceeded; removing node_modules and package-lock.json and running 'npm i' did not work

无意再添加一个 'maximum call stack size exceeded' 问题,但我可能已经尝试了关于 Whosebug 的所有其他建议(我认为)。

版本:

node v.14.19.0
npm v.6.14.16

下面是错误日志。

> esbuild@0.13.8 postinstall C:\folder\node_modules\@angular-devkit\build-angular\node_modules\esbuild
> node install.js


> esbuild@0.13.8 postinstall C:\folder\node_modules\ng-packagr\node_modules\esbuild
> node install.js


> nx@13.10.0 postinstall C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx
> node ./bin/init

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

Error: Cannot find module 'tar-stream'
Require stack:
- C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\utils\fileutils.js
- C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\utils\cache-directory.js
- C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\project-graph\nx-deps-cache.js
- C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\project-graph\project-graph.js
- C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\bin\init.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:101:18)
    at Object.<anonymous> (C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\utils\fileutils.js:11:13)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\utils\fileutils.js',
    'C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\utils\cache-directory.js',
    'C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\project-graph\nx-deps-cache.js',
    'C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\src\project-graph\project-graph.js',
    'C:\folder\node_modules\nx\node_modules\@nrwl\tao\node_modules\nx\bin\init.js'
  ]
}
npm ERR! Maximum call stack size exceeded

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\xyz\AppData\Roaming\npm-cache\_logs22-04-08T20_00_17_654Z-debug.log

我试过了

  1. 正在删除 node_modules 文件夹以及 package-lock.json 和 运行 npm i
  2. 删除 AppData 中的 npm 缓存,执行 #1,然后 运行 npm i
  3. 运行 npm cache clean,做 #1 然后 运行 npm i。 (可能与#2 tbh 相同。)
  4. 正在安装不同版本的节点 (14.17.0-> 14.19.0) 和 运行 npm i.
  5. 全局安装缺少的模块 (tar-stream) 和 运行 npm i
  6. 正在检查环境变量-我有一个路径 var = C:\Program Files\nodejs
  7. 检查权限

有什么建议吗? 如果需要任何其他信息,请告诉我。

我自己也遇到过这个问题,这是一个与@nrwl/cli 中的嵌套依赖项相关的新问题。
将此添加到您的 package.json:

"optionalDependencies": {
   "@nrwl/cli": "13.7.1"
}

来源:https://github.com/nrwl/nx/issues/9755