Meteor 构建内存不足

2024-03-29

我正在尝试构建我的流星应用程序,并且不断遇到以下错误。这不是我第一次构建该应用程序,直到昨天的构建为止一切正常。我已经尝试过:正如[this SO post][1]中的一个答案中所建议的,但它没有帮助。

#!/usr/bin/env node --max_old_space_size=4096 --optimize_for_size --max_executable_size=4096 --stack_size=4096

控制台输出:

meteor build .

WARNING: The output directory is under your source tree.
         Your generated files may get interpreted as source code!
         Consider building into a different directory instead
         meteor build ../output

   Minifying app code                        \
<--- Last few GCs --->

  103230 ms: Mark-sweep 1385.5 (1455.5) -> 1387.9 (1455.5) MB, 898.4 / 0 ms [allocation failure] [GC in old space requested].
  104206 ms: Mark-sweep 1387.9 (1455.5) -> 1387.9 (1455.5) MB, 975.8 / 0 ms [allocation failure] [GC in old space requested].
  105196 ms: Mark-sweep 1387.9 (1455.5) -> 1384.1 (1455.5) MB, 990.2 / 0 ms [last resort gc].
  106101 ms: Mark-sweep 1384.1 (1455.5) -> 1385.1 (1455.5) MB, 905.3 / 0 ms [last resort gc].


<--- JS stacktrace --->

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

Security context: 0x249f6fdb4629 <JS Object>
    1: /* anonymous */(aka /* anonymous */) [0x249f6fd041b9 <undefined>:~4943] [pc=0xcd10dd2f48c] (this=0x249f6fd041b9 <undefined>,self=0x1400b413881 <an AST_ObjectKeyVal with map 0xc3d3a4651b9>,output=0x17417c4edd79 <an Object with map 0x16588927e021>)
    2: doit(aka doit) [0x249f6fd041b9 <undefined>:4190] [pc=0xcd10d7a3298] (this=0x249f6fd041b9 <undefined>)
    3: print [0x249f6fd041b9 <unde...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Aborted (core dumped)

同样的问题让我抓狂,但我终于在 Meteor 1.4.3.1 下成功解决了它。

背景:

问题是meteor调用node来构建。当它运行时,节点会为其运行的V8引擎分配一定量的内存。在较大的项目中,为 V8 分配的默认内存不足以跟踪所有内容 - 它尝试在接近限制时进行垃圾收集,但最终会耗尽空间并崩溃并显示错误。

如果我们只是直接运行节点,我们可以使用 --max-old-space-size 选项来运行它,这将允许我们设置 V8 引擎的最大内存。问题是,meteor 在它自己的上下文中并使用它自己的选项调用节点,所以我们不能直接将标志添加到我们的meteor调用中。

解决方案:

看起来,meteor 1.4.3.1(也许还有其他)在调用节点时将传递 TOOL_NODE_FLAGS 环境变量中指定的标志和选项(其他人提到过 NODE_OPTIONS,但它不适用于我的流星版本 - 标志只是得到掉落)

因此,如果您想将节点引擎的最大内存增加到4 GB,请添加环境变量

TOOL_NODE_FLAGS="--max-old-space-size=4096" 

到您正在运行的meteor的上下文 - 该选项应该传递到节点调用。

(如果您不知道在哪里设置环境变量 - 它通常位于您的 IDE 构建配置或构建脚本中。如果您想健全性检查 --max-old... 选项是否确实被读取,尝试将其更改为乱码 - 它应该会导致流星抛出错误)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor 构建内存不足 的相关文章

随机推荐

  • Angular 订阅将对象推送到数组

    我正在制作角度应用程序 并且我有一个空数组 例如 users any 然后我拨打服务电话ngOnInit将数据存储到users像数组一样 ngOnInit Getting the data from json this httpClient
  • 将 SSRS 从 2016 年降级至 2008 年

    我们有 2 个工作环境 一个用于 SSRS 2016 另一个用于 2008 我错误地在 VS2016 中打开了一份 2008 年的报告 现在我无法打开2008年的它 如何将 2016 年打开的 SSRS 报告降级回 2008 年 我设法做到
  • 在 C++ API 中将一个张量的一大块复制到另一个张量中

    我需要复制一行一个张量 在c API 转换为另一个张量的某些部分 其中开始和结束索引可用 在 C 中我们可以使用类似的东西 int myints 10 20 30 40 50 60 70 std vector
  • 自定义 Perforce RCS 关键字扩展的输出

    我想使用 RCS 关键字扩展来过滤文件 以便 Change 被翻译成1745而不是默认行为 Change 1745 我意识到这会阻止未来的扩展 但就目的而言这是可以接受的 也欢迎使用其他将更改列表编号插入文件的方法 这是我在 Perforc
  • 列表视图多重选择

    有没有办法强制列表视图控件将所有点击视为通过 Control 键完成的 我需要复制使用控制键的功能 选择项目集并取消设置其选择状态 以便允许用户轻松地同时选择多个项目 先感谢您 即使 MultiSelect 设置为 true 这也不是 Li
  • 逐字迭代字符串

    我想知道如何逐字迭代字符串 string this is a string for word in string print word 上面给出了一个输出 t h i s i s a s t r i n g 但我正在寻找以下输出 this
  • 反射值接口和指针接收器

    在golang的mongodb驱动中有以下代码 case reflect Struct if z ok v Interface Zeroer ok return z IsZero return false Zeroer 接口定义如下 typ
  • 比较 (int)double 和 (int)int 时出现异常

    嘿 我正在使用 pdCurses lib 和 stringStream 来计算并制作一个代表时钟的 5 个字符长的字符串 它显示为 00 00 0 00 00 00 或 0 000 但是 当运行我的函数时 我在这部分抛出一个异常 if in
  • 如何在Python中验证字典的结构(或模式)?

    我有一本包含配置信息的字典 my conf version 1 info conf one 2 5 conf two foo conf three False optional conf bar 我想检查字典是否遵循我需要的结构 我正在寻找
  • 有没有办法给某人打电话并在android中播放音频文件?

    我想创建一个紧急呼叫应用程序 如果触发 它会呼叫给定号码并播放音频文件 提供呼叫者无法提供的信息 为此 我需要拨打电话 但确保我可以用播放的音频文件替换扬声器中的任何声音 我可以在安卓中做到这一点吗 有什么办法呢 目前您无法使用 G1 执行
  • 自定义“AuthenticationStateProvider”身份验证失败

    我创建了一个自定义ApiAuthenticationStateProvider返回后AuthenticationState仍在说明 info Microsoft AspNetCore Authorization DefaultAuthori
  • Genymotion 中运行的虚拟设备会定期在 ADB 中离线

    我有一个在 Genymotion 2 4 中运行的 Android 设备 如果重要的话 带有 Lollipop 图像 并通过 ADB 版本 1 0 32 从本地网络中使用 Eclipse 的另一台开发人员 PC 连接到它 没有连接问题 一切
  • 如何使用 swift 3 通过 firebase 推送通知发送图像

    任何人都可以帮我发送这样的通知 我正在使用 Firebase 通知 当我发送通知时 我尝试将图像 URL 放入高级选项和键 1 的值中 图像 URL 显示在调试器中 但当我的设备中出现通知时 没有显示图像 这是我的代码 import UIK
  • 使用 Moq 进行 FormsAuthentication.SetAuthCookie 模拟

    您好 我正在对 ASP Net MVC2 项目进行一些单元测试 我正在使用起订量框架 在我的 LogOnController 中 HttpPost public ActionResult LogOn LogOnModel model str
  • SBT 未解决 Squeryl 依赖关系

    我最近开始了一个新项目 Play 框架和Scala 我习惯于使用 Squeryl 进行 ORM 但由于某种原因 这次它无法解决我的依赖关系 尽管它会解决其他问题 只是不能解决 squeryl 问题 我所做的唯一不同的是 我使用的计算机与以前
  • 是否可以查询ExpandoObject列表?

    我想知道是否可以使用常规 LINQ 查询 ExpandoObject 原因是我有动态 ExpandoObject 但我需要进行一些查询才能进一步传递 它有一些始终保留的属性 例如Id Notes还有一些我无法控制的动态属性 这是我的列表的样
  • 在 PowerPoint 中插入、裁剪和调整图像大小,每张现有幻灯片一张

    这是我创建的用于插入图像和调整图像大小的代码 每张幻灯片一个 我无法裁剪从文件位置插入的图像 过程应该是 将图像从文件位置插入到现有幻灯片中 将图像裁剪为所需的尺寸 将图像调整为所需的大小 注意 我的一个文件中有大约 40 张图像 我需要将
  • 什么是依赖类型?

    有人可以向我解释依赖类型吗 我对 Haskell Cayenne Epigram 或其他函数式语言缺乏经验 因此您可以使用的术语越简单 我就越感激 考虑一下 在所有像样的编程语言中 您都可以编写函数 例如 def f arg result
  • 在 Rails 查询中提取关联模型的属性

    在我的 Rails 应用程序中 收藏品有很多projects 并且项目有很多steps 我想获取集合项目中步骤的所有 id 我想知道是否可以在一个查询中完成这一切 例如 我知道我可以执行以下操作 step ids collection pr
  • Meteor 构建内存不足

    我正在尝试构建我的流星应用程序 并且不断遇到以下错误 这不是我第一次构建该应用程序 直到昨天的构建为止一切正常 我已经尝试过 正如 this SO post 1 中的一个答案中所建议的 但它没有帮助 usr bin env node max