node.js - Typescript 和 Googleapis 使用的内存激增
问题描述
我们已经跟踪了一段时间似乎在构建步骤中不时发生的内存不足错误。
我们终于确定了提交。所述提交导致tsc --alwaysStrict
构建从 175MB (RAM) 到完成构建到 656MB。
该提交仅将googleapis
库添加到package.json
并像这样使用它import { google } from "googleapis";
。仅这两个变化就造成了这个峰值。
我们看到的另一件事是,在构建中包含库package.json
会使构建增加 100MB,但是,一旦我们添加它,import
它就会一直增加到 600MB。
重要的是,我们只对 gSheets 感兴趣。
我看到了一些未来的选择,但我不喜欢其中任何一个:
- 增加服务器的 RAM(目前为 1GB)
- 为此目的使用自定义或非官方库
还有其他方法可以解决这个问题吗?
解决方案
我遇到了同样的问题,但对我来说,在运行 jest 单元测试时问题浮出水面,即使是最简单的测试也会消耗高达 1GB 的内存并导致我们的 CI 机器崩溃。
似乎取得了一些进展,您现在可以从 @googleapis 导入特定模块
看看:https ://github.com/googleapis/google-api-nodejs-client/issues/2187
例如: https ://www.npmjs.com/package/@googleapis/drive https://www.npmjs.com/package/@googleapis/calendar
还没试过,但我希望它能解决问题。
编辑:尝试使用我上面提到的特定于服务的包,它就像一个魅力。试试看
推荐阅读
- spring-batch - JMSItemReader 根据块大小重新连接到 Solace
- reactjs - 将数据传回 React useContext
- vim - 看不到文件中的前两个字符
- javascript - auth.signInWithEmailAndPassword() 登录中的问题
- java - 我不确定代码中的错误是什么,应用程序没有打开它闪烁并在一秒钟内消失
- python - 如何从 CountVectorizer 输出中获取特定单词?
- python-3.x - 在 Simpy 中重新启动模拟,直到发生有趣的事情
- javascript - Angular 将空实体发送到服务器
- phpunit - PHPUnit的破测试在processIsolation模式下成功通过
- r - 将R中一组点的边界作为多边形返回?