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

WebdriverIO脚本本地正常但Heroku运行报错:找不到@wdio/local-runner插件

排查Heroku上WDIO找不到local-runner的问题

以下是针对你遇到的问题的具体排查和解决步骤:

  • 检查Heroku依赖安装规则
    Heroku默认在生产环境部署时只会安装package.json中dependencies字段下的包,devDependencies里的依赖会被跳过。你把@wdio/local-runner放在了devDependencies,这会导致Heroku部署时没安装这个包。
    解决办法:

    1. 将@wdio/local-runner从devDependencies移到dependencies中;
    2. 或者在Heroku上设置环境变量,强制安装dev依赖:
      • 用命令行设置:heroku config:set NPM_CONFIG_PRODUCTION=false -a your-app-name(如果用npm),或者heroku config:set YARN_PRODUCTION=false -a your-app-name(如果用yarn)。
  • 对齐本地与Heroku的Node.js版本
    本地和Heroku使用的Node/npm版本不一致,可能导致依赖安装异常。在package.json中添加engines字段指定版本,比如:

    "engines": {
      "node": "16.x",
      "npm": "8.x"
    }
    

    这样Heroku会严格按照指定版本安装依赖,避免版本不兼容问题。

  • 清理Heroku缓存
    旧的依赖缓存可能引发奇怪的问题,执行以下命令清除缓存后重新部署:

    heroku repo:purge_cache -a your-app-name
    

    之后重新推送代码,让Heroku重新拉取并安装所有依赖。

  • 验证wdio配置文件的runner设置
    打开wdio.conf.js,确认runner字段的值是"local",没有拼写错误(比如误写为"locall"或其他变体),拼写错误会导致WDIO找不到对应的runner插件。

  • 查看Heroku安装日志
    部署时查看Heroku的日志,确认@wdio/local-runner是否被正确安装:

    heroku logs --tail -a your-app-name
    

    在日志中搜索@wdio/local-runner,检查是否有安装失败、被跳过的记录,这能帮你定位具体的安装问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:47:38