首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为类型记录编译器(tsc)设置最大旧空间大小?

如何为类型记录编译器(tsc)设置最大旧空间大小?
EN

Stack Overflow用户
提问于 2021-10-01 14:57:23
回答 2查看 3.4K关注 0票数 1

我的tsc工作在FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory的gitlab上失败了

我正在运行的脚本是tsc -p test/tsconfig.json --noEmit

到目前为止,我尝试的是通过以下方式增加max-old-space-size

  1. cross-env NODE_OPTIONS=--max-old-space-size=8192 yarn print:heapsize && tsc -p test/tsconfig.json --noEmit
  2. cross-env NODE_OPTIONS='--max-old-space-size=8192' yarn print:heapsize && tsc -p test/tsconfig.json --noEmit (只是var)
  3. node --max-old-space-size=8192 ./node_modules/.bin/tsc -p test/tsconfig.json --noEmit

周围的额外引号)

选项#1和#2不工作,#3工作正常,但运行二进制文件并将param传递给node cli听起来不太好。

因此,我的问题是-我如何通过max-old-spce-size env variables tsc 设置,或者有其他好的方法?

yarn print:heapsize是我用来检查当前大小的脚本--它为#1和#2显示了8gb,如下所示:

"print:heapsize": "node -e \"console.log(' Current heap size:', (require('v8').getHeapStatistics().total_available_size / 1024 / 1024 / 1024).toFixed(2), 'Gb')\""

这是输出

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-01 17:02:54

前两个选项失败,因为环境变量NODE_OPTIONS=--max-old-space-size=8192只应用于&&之前的第一个命令(yarn print:heapsize)。

如果删除yarn print:heapsize &&,环境将像预期的那样应用于编译命令:

cross-env NODE_OPTIONS=--max-old-space-size=8192 tsc -p test/tsconfig.json --noEmit

票数 3
EN

Stack Overflow用户

发布于 2022-05-20 15:53:14

不建议使用tsc,但可以在NODE_OPTIONS中使用ts-node--max-old-space-size

将此选项添加到package.json

代码语言:javascript
运行
复制
{
  "scripts": {
    "start": "NODE_OPTIONS='--max-old-space-size=8192' ts-node index.ts"
   }
}  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69408024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档