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

Windows下运行Calabash-Android执行APK遇NoMethodError错误求助

解决Calabash-Android运行时undefined method 'dir' for nil:NilClass错误

从你给出的错误信息来看,这个问题出在run_loop库尝试获取用户主目录时拿到了nil值,进而调用dir方法失败。结合你已经完成配置和重签名的背景,下面是几个针对性的解决步骤:

1. 检查并配置HOME环境变量

这个错误最常见的原因是Windows系统里的HOME环境变量未正确设置。你可以这么操作:

  • 按下Win+R,输入sysdm.cpl打开系统属性窗口
  • 切换到「高级」标签页,点击「环境变量」
  • 在「用户变量」区域,查看是否存在HOME变量:
    • 如果有,确认它的值是你的用户目录(比如C:\Users\test)
    • 如果没有,点击「新建」,变量名填HOME,变量值填你的用户路径(就是你报错里的C:\Users\test)

设置完成后,记得重启命令行窗口再重新执行测试命令。

2. 临时在命令行指定HOME变量

如果不想修改系统环境变量,也可以在执行测试前临时设置:

set HOME=C:\Users\test
bundle exec calabash-android run test_9.apk

3. 更新run_loop gem版本

你当前使用的run_loop版本是2.5.2,这个版本在Windows系统下可能存在HOME目录解析的bug。尝试更新到最新稳定版:

bundle update run_loop

更新完成后再重新运行你的测试命令。

4. 检查Ruby目录的读写权限

确保你的Ruby安装目录(C:\Ruby23-x64)以及用户主目录(C:\Users\test)有足够的读写权限。有时候权限不足会导致Ruby无法正确读取环境变量信息,右键目录选择「属性」-「安全」,确认当前用户有读写权限。

如果以上方法都试过还是不行,可以尝试重启电脑,确保环境变量完全生效,或者重新执行bundle install确认所有依赖都正确安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:32:52