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

执行cucumber版本命令失败,calabash-android激活遇json版本冲突

解决Calabash-Android 0.9.2激活失败的JSON版本冲突问题

我之前也碰到过类似的Gem版本冲突问题,尤其是老版本的Calabash-Android对依赖的版本限制比较严格,给你几个可行的解决办法:

方法一:用Bundler锁定项目依赖版本

这是最稳妥的方案,能彻底避免全局Gem版本混乱:

  1. 在项目根目录创建Gemfile文件,写入以下内容:
    source 'https://rubygems.org'
    gem 'calabash-android', '0.9.2'
    gem 'json', '~> 1.8'
    
  2. 执行命令安装项目专属的依赖包:
    bundle install
    
  3. 之后运行Calabash-Android时,通过bundle启动来确保使用锁定的版本:
    bundle exec calabash-android run your_apk_file.apk
    

方法二:全局调整JSON版本适配Calabash-Android

如果不想用Bundler,可以直接修改全局Gem版本:

  1. 卸载冲突的高版本JSON:
    gem uninstall json -v 2.1.0
    
  2. 安装符合Calabash-Android要求的1.8系列版本(比如1.8.7):
    gem install json -v 1.8.7
    
  3. 再次尝试激活Calabash-Android:
    gem activate calabash-android -v 0.9.2
    

方法三:尝试升级Calabash-Android到较新版本

0.9.2是比较老旧的版本,后续更新的版本大概率已经放宽了依赖限制,你可以试试更新到新一点的稳定版本:

gem install calabash-android --update

如果同时维护多个需要不同Gem版本的项目,强烈推荐使用Bundler,它能为每个项目独立维护依赖环境,从根源上解决版本冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:29:36