这个问题现在在麻烦了几天…每当我使用.bring_to_front方法
- require "rubygems"
- require "watir"
- browser = Watir::Browser::new
- browser.bring_to_front
我得到这个错误:
- (...)rubygems/custom_require.rb:36:in `require': no such file to load -- ffi_c (LoadError)
我尝试卸载并重新安装ffi / watir / ruby / netbeans没有成功.
第36行在custom_require.rb中
- def require path
- if Gem.unresolved_deps.empty? or Gem.loaded_path? path then
- gem_original_require path
- else
- spec = Gem.searcher.find_active path
- unless spec then
- found_specs = Gem.searcher.find_in_unresolved path
- unless found_specs.empty? then
- found_specs = [found_specs.last]
- else
- found_specs = Gem.searcher.find_in_unresolved_tree path
- end
- found_specs.each do |found_spec|
- Gem.activate_spec found_spec
- end
- end
- return gem_original_require path #problem
- end
*本地GEMS *
- archive-tar-minitar (0.5.2)
- builder (3.0.0)
- childprocess (0.2.2)
- columnize (0.3.4)
- commonwatir (2.0.4)
- ffi (1.0.10 x86-mingw32)
- firewatir (1.9.4,1.8.1)
- hoe (2.12.3,2.8.0)
- json (1.6.1)
- json_pure (1.6.1)
- linecache19 (0.5.12)
- minitest (2.7.0,2.6.2,1.6.0)
- nokogiri (1.5.0 x86-mingw32)
- rake (0.9.2.2,0.9.2,0.8.7)
- rautomation (0.6.3)
- rdiscount (1.6.8)
- rdoc (3.11,2.5.8)
- require_all (1.2.0)
- ruby-debug-base19 (0.11.25)
- ruby-debug-ide (0.4.16,0.4.9)
- ruby_core_source (0.1.5)
- rubyzip (0.9.4)
- s4t-utils (1.0.4)
- selenium-webdriver (2.10.0)
- user-choices (1.1.6.1)
- watir (2.0.4)
- watir-webdriver (0.3.5)
- win32-api (1.4.8 x86-mingw32)
- win32-process (0.6.5)
- windows-api (0.4.0)
- windows-pr (1.2.1)
- xml-simple (1.1.1,1.1.0)
解决方法
我认为丢失的文件与FFI宝石有关.我有自己的问题试图使用FFI v1.0.10(当它安装,并由于某些与webdriver代码有关),所以在我的盒子我已经安装了该宝石v1.0.9.
我想说,通过尝试将该宝石翻回一个版本,没有太多的损失.从命令行类型
- gem uninstall ffi
一旦完成了
- gem install ffi -v 1.0.9
看看是否为您解决问题.
更新FFI宝石已经更新了1.1.0以上,这些版本似乎工作正常与watir和watir-webdriver,但是gem没有预先编译,并且必须编译代码,当它安装.这意味着如果您在PC上运行,则需要安装用于Windows的Ruby开发工具包,也就是‘devkit’,您可以从rubyinstaller站点上的downloads page
首先下载并安装devkit,然后打开一个新的命令行窗口并使用
- gem install ffi
获取最新版本的FFI宝石
如果由于某些原因不适合您,您可以随时使用上述原始说明来安装较旧版本的FFI宝石