Подтвердить что ты не робот

Нет такого файла для загрузки - ffi_c (LoadError)

Эта проблема прослушивает меня уже пару дней... Всякий раз, когда я использую метод .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)
4b9b3361

Ответ 1

Я думаю, что недостающий файл относится к жемчужину FFI. У меня были проблемы с попыткой использовать FFI v1.0.10 сам (когда он пошел на установку и из-за чего-то, относящегося к коде webdriver), поэтому на моем ящике установлен v1.0.9 этого драгоценного камня.

Я бы сказал, что нечего терять, пытаясь отбросить эту драгоценность обратно. В командной строке введите

gem uninstall ffi

после этого

gem install ffi -v 1.0.9

Посмотрите, что это исправляет для вас.

Обновить FFI gem с тех пор обновляется в прошлом 1.1.0, и эти версии, похоже, отлично работают с watir и watir-webdriver, однако этот камень не предварительно скомпилирован и должен скомпилировать код, когда он устанавливает. Это означает, что если вы работаете на ПК, вам нужно будет установить пакет разработки Ruby для Windows, aka 'devkit', вы можете получить его из страница загрузки на сайте rubyinstaller

сначала загрузите и установите devkit, затем откройте новое окно командной строки и используйте

gem install ffi

чтобы получить последнюю версию жемчужины FFI

если по какой-либо причине это не сработает для вас, вы всегда можете использовать оригинальные инструкции, приведенные выше, для установки немного более старой версии графа FFI