我正在使用 PureScript 开发一个项目,该项目通过 spago test
功能运行大量大量的堆栈扩展测试。在大多数情况下,递归太深以至于我达到了极限并且测试失败并显示 RangeError: Maximum call stack size exceeded
。
通常我只会运行带有 --stack-size=$ALOT
标志的 node
,但在这里我不能直接访问 JavaScript 求值器(我有没有?)。在不同的情况下,我会使用 NODE_OPTIONS
env 变量,但这里是不可能的,如错误消息中所述:
node: --stack-size= is not allowed in NODE_OPTIONS
有没有办法访问 spago
中的 node
标志或以任何其他方式绕过这个问题?另外,我的情况无法通过 TCO 解决。
最佳答案
spago test
命令包含两个步骤:
spago build
生成js文件到./output
- 用node运行编译好的测试代码
第二步可以手动完成:
node --stack-size=40000 -e "require('./output/Test.Main/index').main()"
关于javascript - 如何更改 spago 的 Node 堆栈限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65698897/