Нет такого файла для загрузки - 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)
Ответы
Ответ 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