我尝试使用cucumber / calabash-android,但我面临一个问题无法激活calabash-android-0.9.2,因为json-2.1.0与json(〜> 1.8)冲突? ,我试图取消使用cucmber并安装它。
答案 0 :(得分:0)
Calabash Android和iOS不支持json 2.1 - 它们被固定到json 1.8。
如果你的ruby不支持json 1.8,你应该降级到ruby 2.3.x。
答案 1 :(得分:0)
使用Calabash gem的最推荐的Ruby版本仍然是v2.3.1。如我所见,你使用rbenv。这很好,安装该版本并设置为全局默认值:
rbenv install 2.3.1
rbenv global 2.3.1
eval "$(rbenv init -)"
使用bundler确定要在Ruby项目中使用的gem版本。安装bundler:
gem install bundler
使用以下内容制作Gemfile
:
(您也可以使用bundler init
命令创建骨架。)
source "https://rubygems.org"
gem 'calabash-android', '~> 0.9.2'
gem 'calabash-cucumber', '~> 0.21.4'
gem 'cucumber', '~> 2.4'
gem 'json', '~> 1.8.6', '< 2.0'
使用bundler安装指定的gem(如果更改Gemfile
,则必须再次运行):
bundle install
使用此配置运行Ruby项目:
bundle exec calabash-android run myApp.apk
Gemfile
的小解释:
~>
关系仅允许轻微更新>=
表示您也会获得重大更新gem 'json', '1.8.6'
json 1.8.6是适用于我的最新版本。