node.js - npm 构建给出 "Ineffective mark-compacts near heap limit Allocation failed"

标签 node.js reactjs typescript npm

我有一个在 Windows 10 上运行的 ReactJS/TypeScript 项目。我正在尝试使用 ts-scripts 进行构建

"rimraf ../wwwroot/* && react-scripts-ts build && copyfiles ./build/**/* ../wwwroot/ -u 1

这之前工作正常,但是当我删除 node_modules-folder 时,重新运行 npm install-command,然后运行上面的命令,我收到错误消息

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

我不知道为什么。谷歌搜索后我看到了

NODE_OPTIONS="–max-old-space-size=2048" but I dont know where to put this

完整错误消息

最近几次 GC

[11376:0000024682F49880]    60039 ms: Mark-sweep 2034.1 (2085.2) -> 2033.7 (2085.2) MB, 1029.4 / 0.0 ms  (average mu = 0.073, current mu = 0.006) allocation failure scavenge might not succeed
[11376:0000024682F49880]    61094 ms: Mark-sweep 2034.4 (2085.2) -> 2034.1 (2085.7) MB, 1047.7 / 0.0 ms  (average mu = 0.039, current mu = 0.007) allocation failure scavenge might not succeed


 JS stacktrace 
==== JS stack trace =========================================

    0: ExitFrame [pc: 000001CDF84DC5C1]
Security context: 0x007044b9e6e1 <JSObject>
    1: bindChildrenWorker(aka bindChildrenWorker) [000001AD1C0ACD59] [C:\Users\robcar\source\repos\Boost\Boost.Web\ClientApp\node_modules\typescript\lib\typescript.js:~27657] [pc=000001CDF8FA47CA](this=0x03da79d826f1 <undefined>,node=0x034b8724ab71 <NodeObject map = 000000660468F931>)
    2: bind(aka bind) [000001AD1C0AE2D9] [C:\Users\robcar\source\repos\B...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF6B5EA121A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4810
 2: 00007FF6B5E7A5B6 node::MakeCallback+4518
 3: 00007FF6B5E7AFA0 node_module_register+2160
 4: 00007FF6B610B3EE v8::internal::FatalProcessOutOfMemory+846
 5: 00007FF6B610B31F v8::internal::FatalProcessOutOfMemory+639
 6: 00007FF6B6649304 v8::internal::Heap::MaxHeapGrowingFactor+11476
 7: 00007FF6B663FA67 v8::internal::ScavengeJob::operator=+25543
 8: 00007FF6B663DFDC v8::internal::ScavengeJob::operator=+18748
 9: 00007FF6B6646F57 v8::internal::Heap::MaxHeapGrowingFactor+2343
10: 00007FF6B6646FD6 v8::internal::Heap::MaxHeapGrowingFactor+2470
11: 00007FF6B61E9DD7 v8::internal::Factory::NewFillerObject+55
12: 00007FF6B6281ABA v8::internal::WasmJs::Install+29530
13: 000001CDF84DC5C1

最佳答案

我也遇到了类似的问题,不过是在 Mac 计算机上。 设置环境变量对我来说很有效。这样,您的 Node 进程将获取该值并独立于您正在运行的脚本来使用它。

export NODE_OPTIONS=--max_old_space_size=4096

再次运行您的命令。祝你好运!

关于node.js - npm 构建给出 "Ineffective mark-compacts near heap limit Allocation failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354079/

相关文章:

reactjs - 在没有主题的情况下 react KeyboardDatePicker 样式

javascript - 如何将值从兄弟组件传递到 Angular 6 中的路由器导出?

javascript - 异步: Why is form post redirecting?

javascript - 使用express的静态中间件时没有任何反应

javascript - 路由、通用应用程序(Nodejs、React)、错误(0、_reactRouter.match)不是函数

reactjs - React 中的派生状态是什么,为什么它很重要?

javascript - Angular Material : Hide Autocomplete Panel when User hits enter Key

generics - 如何获取对指定类型的泛型类的构造函数的引用?

javascript - Node JS异步执行和事件发出/监听器模型

javascript - RethinkDB,引用错误: connection is not defined