2011-11-29 11 views
5

Sto provando a iniziare con ruby ​​e Watir-webdriver per alcuni automatismi di test.ERRORE: durante l'esecuzione di gem ... (NoMethodError) metodo `spec 'per nil: NilClass

sudo apt-get install ruby rubygems

sudo gem install watir-webdriver

Ogni volta che gem install sto ottenendo questi errori come:

[/usr/lib/ruby/gems/1.8/specifications/selenium-webdriver-2.13.0.gemspec] isn't a Gem::Specification (NilClass instead). 
ERROR: While executing gem ... (NoMethodError) 
    undefined method `spec' for nil:NilClass 
+0

BTW: se siete nuovi a Ruby e lo userete principalmente per scripting e automazione, consiglio vivamente "Everyday Scripting with Ruby" di Brian Marick come un buon libro per iniziare. Puoi ottenerlo a un prezzo abbastanza ragionevole in formato E-book direttamente da Pragmatic Programmers. Anche dare un'occhiata al (in corso) "Watir Book" di Zeljko Filipin (https://github.com/zeljkofilipin/watirbook/downloads) è gratuito al momento (ma sono sicuro che l'autore non rifiuterebbe le donazioni o, in particolare, il feedback dei nuovi di Watir e Ruby) –

risposta

4

Il problema era dovuto al fatto che i download danneggiati venivano archiviati nella cache, quindi anche dopo lo gem uninstall e la reinstallazione, l'errore persisteva. Per forzare il re-download, ho svuotato le directory della cache che si trovano controllando sotto GEM PATHS nell'output del comando gem env.

+1

Se è stato risolto il problema, è necessario accettare la risposta. Vorrei raccomandare che se non lo hai fatto guardando in RVM, rende molto più facile la gestione delle versioni di ruby ​​e gems ecc. rende anche le cose molto più semplici quando si tratta di aggiornare il linguaggio rubino o gemme specifiche che hanno molte dipendenze da altre gemme. –

+0

+1, anche specifiche vuote se ricevi avvertimenti gemspecs. –

2

Si dovrebbe provare a utilizzare Rubino 1.9.x

Il modo più semplice è quello di utilizzare RVM:

sudo apt-get install git 
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session. 
rvm install 1.9.2 
rvm use 1.9.2 
gem install watir-webdriver 
+0

Ho riscontrato un errore simile durante l'utilizzo del tuo script: "ERRORE: durante l'esecuzione di gem ... (NoMethodError) metodo non definito 'spec' per nil: NilClass'' – wim

+5

Don ' t usa sudo per installare gemme che ti aspetti di usare con Ruby gestito da RVM. –

Problemi correlati