bjw*_*hip 8 node.js angular nrwl-nx
我正在 Nx monorepo 中工作,其中包含许多 Angular 15 应用程序和一些共享库。我使用 nx cli 生成了一个新的 Angular 应用程序,效果很好。我可以毫无问题地提供和构建应用程序。
当我将新应用程序的 tsconfig 文件添加到我的 eslintrc.json 文件时,问题就出现了
"overrides": [
"parserOptions": {
"project": [
"apps/new-app/tsconfig.*?.json"
"libs/shared/tsconfig.*?.json"
*/ -----
15 others
-----/*
]
}
]
Run Code Online (Sandbox Code Playgroud)
如果我将新应用程序添加到 parserOptions,然后运行
nx 受影响 --target=lint
对于尚未触及的共享库,我收到此错误
<--- Last few GCs --->
[18664:0000015D230EE780] 71334 ms: Scavenge 4044.3 (4127.2) -> 4039.4 (4128.5) MB, 12.6 / 0.0 ms (average mu = 0.835, current mu = 0.632) allocation failure
[18664:0000015D230EE780] 71386 ms: Scavenge 4047.0 (4130.1) -> 4043.9 (4131.8) MB, 14.5 / 0.1 ms (average mu = 0.835, current mu = 0.632) allocation failure
[18664:0000015D230EE780] 72392 ms: Scavenge 4048.8 (4131.8) -> 4045.8 (4150.1) MB, 989.7 / 0.0 ms (average mu = 0.835, current mu = 0.632) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF7DB8A0B5F v8::internal::CodeObjectRegistry::~CodeObjectRegistry+124015
2: 00007FF7DB82C916 v8::internal::wasm::WasmCode::safepoint_table_offset+64182
3: 00007FF7DB82D992 v8::internal::wasm::WasmCode::safepoint_table_offset+68402
4: 00007FF7DC161D94 v8::Isolate::ReportExternalAllocationLimitReached+116
5: 00007FF7DC14C35D v8::SharedArrayBuffer::Externalize+781
6: 00007FF7DBFEF93C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1468
7: 00007FF7DBFECA54 v8::internal::Heap::CollectGarbage+4244
8: 00007FF7DBFEA3D0 v8::internal::Heap::AllocateExternalBackingStore+2000
9: 00007FF7DC00EF56 v8::internal::Factory::NewFillerObject+214
10: 00007FF7DBD416F5 v8::internal::DateCache::Weekday+1797
11: 00007FF7DC1EFA71 v8::internal::SetupIsolateDelegate::SetupHeap+494417
12: 0000015D254F5AEA
Run Code Online (Sandbox Code Playgroud)
如果我从 parserOptions 中删除新应用程序并运行 lint,则 linter 在除新应用程序之外的所有地方都会成功,错误告诉我将 tsconfig 添加到 parserOptions
我正在使用节点版本 v16.18.1 在 Windows 上运行,并且我尝试以多种方式使用 --max-old-space-size=6144/--max_old_space_size=6144 增加可用内存。
有谁知道是什么导致了这个问题,或者如何解决它?虽然除了 nx lint 之外一切正常,但我的公司使用 nx 内置 lint 命令来验证代码,然后才能推送或合并代码
小智 1
对我来说,解决方法是更改我在每个应用程序中指定 tsconfig.json 的方式。本来,我有
\n"project": ["tsconfig.base.json"]\nRun Code Online (Sandbox Code Playgroud)\n将此更改为
\n"project": ["apps/{{app-name}}/tsconfig.*?.json"]\nRun Code Online (Sandbox Code Playgroud)\n似乎解决了包含所有正确文件并且没有内存问题的问题。
\n很奇怪的问题,我很想听听解释。对我来说,当我迁移到 Nx 16 和 Angular 16\xe2\x80\x94 时,即使运行迁移后,它也会随机弹出。不确定你的情况是否不同。有趣的是,在 CI 机器(Ubuntu 22.04.2,x64)上没有出现 linting 问题,但我的开发机器和另一台机器(macOS 13.4,arm64)都有问题。
\n| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |