【发布时间】:2019-12-31 06:23:36
【问题描述】:
我正在执行使用 Ruby 编程语言创建的 Cucumber 脚本,但它引发了与 Child Process 相关的错误,该错误具有先决条件 od FFI gem,下面是错误堆栈跟踪
FFI is a required pre-requisite for Windows or posix_spawn support in the ChildProcess gem. Ensure the `ffi` gem is installed. If you believe this is an error, please file a bug at http://github.com/enkessler/childprocess/issues (ChildProcess::MissingFFIError)
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/childprocess-3.0.0/lib/childprocess/windows.rb:6:in `rescue in <top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/childprocess-3.0.0/lib/childprocess/windows.rb:3:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/childprocess-3.0.0/lib/childprocess.rb:209:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/childprocess-3.0.0/lib/childprocess.rb:209:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.142.6/lib/selenium/webdriver.rb:20:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.142.6/lib/selenium/webdriver.rb:20:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.142.6/lib/selenium-webdriver.rb:20:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.142.6/lib/selenium-webdriver.rb:20:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.11.0/lib/watir.rb:1:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/watir-6.11.0/lib/watir.rb:1:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/page-object-2.2.4/lib/page-object.rb:1:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/page-object-2.2.4/lib/page-object.rb:1:in `<top (required)>'
E:/e2NxtAutomation/DEVOPS/Spec/Func/features/support/env.rb:4:in `require'
E:/e2NxtAutomation/DEVOPS/Spec/Func/features/support/env.rb:4:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/glue/registry_and_more.rb:107:in `load'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/glue/registry_and_more.rb:107:in `load_code_file'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime/support_code.rb:144:in `load_file'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime/support_code.rb:85:in `block in load_files!'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime/support_code.rb:84:in `each'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime/support_code.rb:84:in `load_files!'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime.rb:272:in `load_step_definitions'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/runtime.rb:68:in `run!'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/lib/cucumber/cli/main.rb:34:in `execute!'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/cucumber-3.1.1/bin/cucumber:9:in `<top (required)>'
C:/Ruby24-x64/bin/cucumber:23:in `load'
C:/Ruby24-x64/bin/cucumber:23:in `<main>'
Process finished with exit code 2
根据错误,我已成功安装 FFI Gem
gem install ffi
Fetching: ffi-1.11.3-x64-mingw32.gem (100%)
Successfully installed ffi-1.11.3-x64-mingw32
Parsing documentation for ffi-1.11.3-x64-mingw32
Installing ri documentation for ffi-1.11.3-x64-mingw32
Done installing documentation for ffi after 2 seconds
1 gem installed
但还是会出现同样的错误。我的机器详细信息 操作系统:Windows 7 Ruby 版本:2.4.0
为此建议我一些解决方法。
【问题讨论】:
标签: ruby cucumber watir ffi rubymine