FFI是ChildProcess gem中Windows或posix_spawn支持的先决条件

问题描述 投票:0回答:1

我正在执行使用Ruby编程语言创建的Cucumber脚本,但是它引发与Child Process相关的错误,该错误具有od FFI gem的先决条件,以下是错误stacktrace

    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 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 7Ruby版本:2.4.0

建议我为此采取一些解决方法。

ruby cucumber watir ffi rubymine
1个回答
0
投票
我建议检查您的红宝石版本。FFI宝石有不同的版本。在2.2版之前,某些版本都可以使用ruby。有时您会在旧的红宝石版本上安装FFI gem的最新版本我建议卸载当前的ruby并将ruby升级到版本2.5.7。完成后,重新安装gems并查看您的自动化是否有效
© www.soinside.com 2019 - 2024. All rights reserved.