2013-02-27 7 views
10

Sto provando a lavorare con "The Cucumber Book", ma Cucumber non si comporta come previsto.Come posso risolvere un avvertimento 'Cucchiaio' impossibile caricare tale file '?

Sono su Windows 7 (32 bit), e sono ragionevolmente sicuro di avere Ruby e le gemme necessarie installate correttamente.

Tuttavia, quando corro cetriolo ricevo il seguente messaggio:

WARNING: cannot load such file -- 2.0/gherkin_lexer_en 
Couldn't load 2.0/gherkin_lexer_en 
The $LOAD_PATH was: 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-1.2.1/bin/../lib 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/gherkin-2.11.6-x86-mingw32/lib 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/builder-3.2.0/lib 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/diff-lcs-1.2.1/lib 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-1.2.1/lib 

Questo continua per un po ', elencando più percorsi che sono stati controllati, e quindi un 'Tornando a Ruby lexer', e un messaggio' Nessun lexer è stato trovato per en (impossibile caricare tale file --gherkin/lexer/it) ... '

Sulla base del percorso che sta controllando sembra che voglia una cartella' 2.0 'nel' gherkin-2.11 .6-x86-mingw32/lib 'cartella, che ovviamente non esiste. Vi sono, tuttavia, cartelle '1.8' e '1.9' che sembrano avere il file 'gherkin_lexer_en' (in realtà 'gherkin_lexer_en.so').

Come ipotesi, ho duplicato la cartella 1.9 e l'ho denominata 2.0. Non mi aspettavo davvero che avrebbe funzionato, ma ho pensato che valeva la pena sparare.

Come ottengo il cetriolo per cercare in una delle cartelle che ho, o in alternativa ottenere una cartella 2.0 sul posto che accetterà?

risposta

2

Su Windows, per il momento sarà necessario utilizzare Ruby 1.9. Non è ancora stata pubblicata una versione di Gherkin di Ruby 2.0.

+0

OK. Credo che lo farò allora. Grazie. – dglass

+0

Qualche aggiornamento? Ruby 2.0 è supportato? Sembra così, per quanto posso vedere, ma ho ancora lo stesso errore con Gherkin 2.11.7. –

+0

Ho appena installato Ruby 2.0.0 e ho provato di nuovo il gioiello di cetriolo. Ho ancora lo stesso errore. – joshuanapoli

-1

Se si utilizza gherkin ver 2.12.1, ora è possibile utilizzare Cetriolo con Ruby 2.0 su Windows.

In primo luogo, installare cetriolino-2.12.1 con l'opzione --ignore-dipendenze.

L'opzione reson -ignore-dependencies è necessaria è che senza specificarlo, installerà json 1.4.X che è una versione molto vecchia e non riesce a installare su Ruby 2.0.

A questo punto, si dovrebbe essere in grado di rubino cetriolo su Ruby 2.0, ma si vedrà il messaggio di errore come sopra come messaggio di avviso. Ciò significa che puoi ancora usare cetriolo anche se vedi il messaggio.

Se si desidera rimuovere l'errore, seguire il passo di seguito.

  1. creare [2,0] cartella [ruby installato dir] \ lib \ ruby ​​\ gemme \ 2.0.0 \ gemme \ cetriolino-2.12.1 \ lib (questa cartella si trovano gherkin_lexer_XX.so) .

  2. copia tutto il contenuto in [ruby directory installata] \ lib \ ruby ​​\ gems \ 2.0.0 \ gems \ gherkin-2.12.1 \ lib nella cartella [2.0] creata (non è necessario copiare [2.0] cartella che hai creato).

+0

Non ha funzionato per me su Win 7 con Gherkin 2.12.1. –

+0

Grazie al passo di copia incolla ha funzionato per me. – Chandru

5

$ gem install gherkin --platform ruby

andare al di sotto della cartella all'interno della vostra directory di installazione rubino

{rubyDir}\lib\ruby\gems\2.0.0\gems\gherkin-2.12.2\lib\gherkin

può essere diverso percorso per voi ragazzi

Modifica *lib/gherkin/c_lexer.rb:7 variazione del valore del prefisso sotto:

prefix = ''

risposta Trovato al di sotto del collegamento https://github.com/cucumber/gherkin/issues/273

con risposta mscharley commentato 18 gennaio 2014

ha funzionato per me come fascino ..

+0

Per prima cosa ho dovuto disinstallare la precedente versione di cetriolo con 'gem uninstall gherkin --force' – evedovelli