You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行jest内存泄漏排查脚本时触发Powershell语法错误求助

问题根因

你执行命令时传入的./node_modules/.bin/jest.ps1是Windows PowerShell专用的引导脚本,无法被Node.js直接识别解析,Node.js只能运行JavaScript格式的代码文件,所以才会抛出PowerShell语法相关的语法错误。

解决方案

方案1:跨平台通用方案(推荐)

直接调用jest的原生JavaScript入口文件执行,所有操作系统都适用,命令如下:

node --expose-gc ./node_modules/jest/bin/jest.js --runInBand --logHeapUsage

方案2:Windows PowerShell环境专用方案

如果你坚持使用.bin目录下的ps1脚本,需要通过PowerShell直接调用,同时通过NODE_OPTIONS环境变量传入Node.js的启动参数:

$env:NODE_OPTIONS="--expose-gc"
./node_modules/.bin/jest.ps1 --runInBand --logHeapUsage

方案3:封装为npm脚本复用

可以在项目package.json的scripts字段中添加专用命令,避免每次手动输入长指令:

{
  "scripts": {
    "test:mem-check": "node --expose-gc ./node_modules/jest/bin/jest.js --runInBand --logHeapUsage"
  }
}

之后直接执行对应包管理器的命令即可:

  • npm:npm run test:mem-check
  • yarn:yarn test:mem-check
  • pnpm:pnpm run test:mem-check

内容的提问来源于stack exchange,提问作者Igino Boffa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:15:09