微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows上的Calabash-Android

我不确定这是否是最近已经讨论过的话题,但是我真的很沮丧地search自己的网页,尝试了几个指南和修复。 我做了很多东西,我真的不知道我已经做了什么:(

所以我试图在Windows 10 64bit上运行Calabash-Android,我按照https://github.com/calabash/calabash-android上的步骤安装了ruby,Ant和DevKit。 当我现在尝试运行一个testing:

calabash-android run app-release.apk

我得到这样的输出

*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows WARNING: cannot load such file -- gherkin_lexer_en Couldn't load gherkin_lexer_en The $LOAD_PATH was: lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/bin/../lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/builder-3.2.2/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/diff-lcs-1.2.5/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/multi_json-1.11.2/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/multi_test-0.1.2/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/retriable-1.4.1/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/slowhandcuke-0.0.3/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/rubyzip-1.1.7/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/awesome_print-1.6.1/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/httpclient-2.7.0.1/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/escape-0.0.4/lib C:/Ruby21/lib/ruby/gems/2.1.0/gems/calabash-android-0.5.14/lib C:/Ruby21/lib/ruby/site_ruby/2.1.0 C:/Ruby21/lib/ruby/site_ruby/2.1.0/i386-msvcrt C:/Ruby21/lib/ruby/site_ruby C:/Ruby21/lib/ruby/vendor_ruby/2.1.0 C:/Ruby21/lib/ruby/vendor_ruby/2.1.0/i386-msvcrt C:/Ruby21/lib/ruby/vendor_ruby C:/Ruby21/lib/ruby/2.1.0 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32. Reverting to Ruby lexer. No lexer was found for en (cannot load such file -- gherkin/lexer/en). Supported languages are listed in gherkin/i18n.json. (Gherkin::I18n::LexerNotFound) C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/i18n.rb:108:in `rescue in lexer' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/i18n.rb:97:in `lexer' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:139:in `transition_table' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:128:in `build_transition_map' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:124:in `transition_map' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:91:in `initialize' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:68:in `new' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:68:in `push_machine' C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2-x86-mingw32/lib/gherkin/parser/parser.rb:31:in `parse' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/feature_file.rb:37:in `parse' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime/features_loader.rb:28:in `block in load' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime/features_loader.rb:26:in `each' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime/features_loader.rb:26:in `load' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime/features_loader.rb:14:in `features' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime.rb:179:in `features' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/runtime.rb:49:in `run!' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/lib/cucumber/cli/main.rb:47:in `execute!' C:/Ruby21/lib/ruby/gems/2.1.0/gems/cucumber-1.3.20/bin/cucumber:13:in `<top (required)>' C:/Ruby21/bin/cucumber:23:in `load' C:/Ruby21/bin/cucumber:23:in `<main>'

所以我GOOGLE了这第一个错误“警告无法加载这样的文件[…],发现多个结果,尝试这个https://github.com/cucumber/gherkin/issues/320 ,尝试:

gem install gherkin --platform=ruby

有这样的输出

Temporarily enhancing PATH to include DevKit... Building native extensions. This Could take a while... ERROR: Error installing gherkin: ERROR: Failed to build gem native extension. C:/Ruby21/bin/ruby.exe extconf.rb checking for main() in -lc... *** extconf.rb Failed *** Could not create Makefile due to some reason,probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby21/bin/ruby --with-gherkin_lexer_ar-dir --without-gherkin_lexer_ar-dir --with-gherkin_lexer_ar-include --without-gherkin_lexer_ar-include=${gherkin_lexer_ar-dir}/include --with-gherkin_lexer_ar-lib --without-gherkin_lexer_ar-lib=${gherkin_lexer_ar-dir}/lib --with-clib --without-clib C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler Failed to generate an executable file. (RuntimeError) You have to install development tools first. from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:541:in `try_link0' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:556:in `try_link' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:736:in `try_func' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:967:in `block in have_library' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:912:in `block in checking_for' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:351:in `block (2 levels) in postpone' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:321:in `open' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:351:in `block in postpone' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:321:in `open' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:347:in `postpone' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:911:in `checking_for' from C:/Ruby21/lib/ruby/2.1.0/mkmf.rb:962:in `have_library' from extconf.rb:5:in `<main>' extconf Failed,exit code 1 Gem files will remain installed in C:/Ruby21/lib/ruby/gems/2.1.0/gems/gherkin-2.12.2 for inspection. Results logged to C:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/2.1.0/gherkin-2.12.2/gem_make.out

我很确定我做了一些修复,但没有为我工作,也许你们可以帮助我? 真的需要做这个工作。 也许我只是错过了一些细节?

问候卡帕斯科

我们正在研究可能会有帮助的Windows实验性葫芦沙盒。

在管理Powershell中,运行:

set-executionpolicy unrestricted

然后

(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/calabash/install/master/install-windows.ps1") | powershell -command -

然后打开一个命令提示符(不是一个PowerShell)并运行

calabash-sandBox

在沙箱内部,所有的calabash-android命令都可以工作,并且你将拥有一个预配置的ruby环境(它不会影响系统的ruby配置的其余部分)。

退出沙箱,只需输入exit

当你全部完成安装时,请记住在PowerShell中运行它:

set-executionpolicy restricted

只是为了安全:)

我得到了同样的错误,我相信这是由于不匹配的依赖。 当我尝试使用Bundler安装所需的宝石时,问题已解决

Bundler可以通过使用gemfile来帮助您管理所有的依赖关系。

试试这个==> bundler.io/#getting-started

对于每个人都想知道,我通过删除所有组件并再次安装它解决了这个问题。 我无法解释为什么它现在可以工作,但它确实如此。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐