2011-11-01 18 views
12

Questo problema mi sta intercettazioni per un paio di giorni ormai ... Ogni volta che sto usando il metodo .bring_to_fronttale file da caricare - ffi_c (LoadError)

require "rubygems" 
require "watir" 

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

ottengo questo errore:

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

Ho provato a disinstallare e reinstallare ffi/watir/ruby ​​/ netbeans senza successo.

linea 36 è in 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 LOCALI *

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) funziona per me con Ruby 1.9.2 e Watir 2.0.3 1) quale versione di Watir stai utilizzando. 2) Abbiamo bisogno di più dell'errore. La riga 36 nel file indicato sta funzionando con un parametro passato a quel metodo, è necessario vedere dove è stata chiamata quella linea. 3) Puoi fare 'Gem List' dalla riga di comando e aggiungere tali informazioni alla tua domanda. –

+0

1. ruby ​​1.9.2 + watir 2.0.4 – drake10k

+0

Grazie per aver incluso le informazioni aggiuntive, tuttavia è più del vero ERRORE che volevo vedere, ero già andato e ho guardato il file custom_require .. –

risposta

20

penso che il file mancante si riferisce alla gemma FFI. Ho avuto problemi nel provare a usare FFI v1.0.10 da solo (quando è andato a installare, ea causa di qualcosa relativo al codice del webdriver) così sul mio box ho installato la v1.0.9 di quella gemma.

Direi che non c'è molto da perdere cercando di riportare indietro quella gemma di una versione. Dal tipo riga di comando

gem uninstall ffi 

una volta fatto poi

gem install ffi -v 1.0.9 

Vedere se questo risolve le cose per voi.

Aggiornamento la gemma FFI da allora ha aggiornato passato 1.1.0 e queste versioni sembrano funzionare bene con watir e watir-WebDriver, tuttavia la gemma non è pre-compilato, e deve compilare il codice quando si installa. Questo significa che se si esegue su un PC è necessario installare il kit di sviluppo di Ruby per le finestre, alias 'devkit', si può ottenere dal downloads page sul sito rubyinstaller

scaricare e installare DevKit prima, quindi aprire un nuovo comando finestra della riga e utilizzare

gem install ffi 

per ottenere la versione più recente della gemma FFI

se per qualche motivo che non funziona per voi, è sempre possibile utilizzare le istruzioni originali sopra per installare la versione leggermente più vecchio di la gemma della FFI

+3

In effetti sei destra. Questo ha risolto il problema. Grazie per l'aiuto. – drake10k

+1

Ha funzionato anche per me, grazie! – holaSenor

+1

grazie mille. Aveva lo stesso problema, ho trovato questo e ha risolto anche il mio problema. –

Problemi correlati