2011-11-01 11 views
12

Problem ten podsłuch mnie na kilka dni teraz ... Ilekroć używam metody .bring_to_frontNie ma takiego pliku do załadowania - ffi_c (LoadError)

require "rubygems" 
require "watir" 

browser = Watir::Browser::new 
browser.bring_to_front 

otrzymuję ten błąd:

(...)rubygems/custom_require.rb:36:in `require': no such file to load -- ffi_c (LoadError) 

Próbowałem odinstalować i ponownie zainstalować ffi/watir/ruby ​​/ netbeans bez powodzenia.

Linia 36 jest w 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 

* LOCAL 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

0) działa dla mnie z rubinem 1.9.2 i Watir 2.0.3 1) z jakiej wersji Watir korzystasz. 2) Potrzebujemy więcej błędów. Wiersz 36 we wskazanym pliku działa z parametrem przekazanym do tej metody, trzeba zobaczyć, gdzie został wywołany ten wiersz. 3) Czy możesz zrobić "Lista klejnotów" z wiersza poleceń i dodać te informacje do swojego pytania. –

+0

1. ruby ​​1.9.2 + watir 2.0.4 – drake10k

+0

Dzięki za dodatkowe informacje, ale to bardziej rzeczywisty błąd, który chciałem zobaczyć, już poszedłem i spojrzałem na plik custom_require .. –

Odpowiedz

20

myślę brakujący plik dotyczy gem FFI. Miałem problemy z używaniem samego FFI v1.0.10 (kiedy poszedł zainstalować i ze względu na coś związanego z kodem webdrivera), więc na moim pudełku zainstalowałem v1.0.9 tego klejnotu.

Powiedziałbym, że nie ma wiele do stracenia, próbując rzucić klejnotem wersję. Od rodzaju linii poleceń

gem uninstall ffi 

raz to zrobić wtedy

gem install ffi -v 1.0.9 

sprawdzić, czy to rozwiązuje rzeczy dla Ciebie.

Aktualizacja gem FFI od tego czasu aktualizowany przeszłość 1.1.0 i te wersje wydają się działać dobrze z Watir i Watir-webdriver jednak gem nie jest wstępnie skompilowana i ma do kompilacji kodu podczas instalacji. Oznacza to, że jeśli jest uruchomiony na komputerze trzeba zainstalować zestaw do tworzenia Ruby dla Windows, aka 'devkit', można je dostać od downloads page na stronie rubyinstaller

pobrać i zainstalować devkit pierwszy, a następnie otworzyć nowe polecenie okno linii i używać

gem install ffi 

aby pobrać najnowszą wersję gem FFI

jeśli z jakiegoś powodu nie działa dla ciebie, możesz zawsze powyżej korzystać z oryginalnych instrukcji, aby zainstalować nieco starszej wersji klejnot FFI

+3

Rzeczywiście jesteś dobrze. To rozwiązało problem. Dziękuję za pomoc. – drake10k

+1

Pracowałem również dla mnie, dziękuję! – holaSenor

+1

dziękuję bardzo. Miał ten sam problem, znalazł to i rozwiązał również mój problem. –

Powiązane problemy