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

如何解决Node版本>10环境下Protractor报错primordial is not defined的问题

根因说明

你遇到的primordials相关报错是低版本Protractor的依赖兼容性问题:低版本Protractor依赖的graceful-fs@3.x会调用Node内部的primordials全局对象,而Node 11及以上版本已经移除了该对象,因此只有Node 10及以下版本能正常运行,更高版本Node都会触发该报错,和你截图中的错误表现完全一致。

修复方案

方案1:升级Protractor到兼容版本(优先推荐)

  • Protractor从v7.0.0开始已经更新了所有依赖适配Node 12+版本,直接升级即可完全解决该问题,绝大多数原有测试用例无需调整
  • 执行升级命令:
    npm install protractor@latest --save-dev
  • 升级完成后执行webdriver-manager update同步更新对应驱动即可正常使用

方案2:强制覆盖依赖版本(适合无法升级Protractor的场景)

如果因为业务兼容性问题无法升级Protractor大版本,可以通过包管理器的依赖覆盖配置,强制项目所有依赖调用兼容高版本Node的graceful-fs:

  • 若使用npm v8及以上版本,在项目的package.json中添加如下配置:
{
  "overrides": {
    "graceful-fs": "^4.2.10"
  }
}
  • 若使用yarn作为包管理器,在项目的package.json中添加如下配置:
{
  "resolutions": {
    "graceful-fs": "^4.2.10"
  }
}
  • 配置添加完成后,删除项目下的node_modules文件夹、package-lock.json或yarn.lock文件,重新执行安装命令即可生效

验证方式

安装完成后执行protractor --version确认配置生效,运行单条测试用例即可验证报错是否解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:06:01