Eroare de sintaxă când încercați să porniți serverul șinelor

Recent am început să lucrez la un proiect pe care l-am clonat din github.

De fiecare data cand incerc sa incep serverul de sine, primesc urmatoarea eroare:

 
/Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in load': /Users/thomas/Projects/BillingMiddleware/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end (SyntaxError)
...sion_store :cookie_store, key: '_BillingMiddleware_session'
                              ^
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:inload'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in load_dependency'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:inload'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:588
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:587:in each'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:587
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:30:ininstance_exec'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:30:in run'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:55:inrun_initializers'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:54:in each'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:54:inrun_initializers'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/application.rb:136:in initialize!'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:insend'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in method_missing'
    from /Users/thomas/Projects/BillingMiddleware/config/environment.rb:5
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:inrequire'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in require'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:inload_dependency'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in require'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:4
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:ininstance_eval'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in initialize'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:1:innew'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:1

Colegul meu lucrează de asemenea la proiect și nu pare să aibă probleme la pornirea serverului. El rulează aceeași versiune de rubin, șine și WeBrick ca mine.

I've tried changing the syntax from key: to :key =>, this shouldn't be the problem though as I am running ruby version 1.9.3. If I make that change anyhow I get a different error message:

/Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load': /Users/thomas/Projects/BillingMiddleware/config/initializers/wrap_parameters.rb:8: syntax error, unexpected ':', expecting kEND (SyntaxError)
  wrap_parameters format: [:json]
                         ^
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in `load'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:588
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:587:in `each'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/engine.rb:587
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `run_initializers'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `send'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/thomas/Projects/BillingMiddleware/config/environment.rb:5
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:4
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /Users/thomas/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:1:in `new'
    from /Users/thomas/Projects/BillingMiddleware/config.ru:1

M-am obosit complet eliminarea și re-instalarea rvm, rubin și șine de mai multe ori să nu prevaleze. Am încercat, de asemenea, să ruleze pachetul de instalare care nu a ajutat.

Are cineva vreo idee despre ce se intampla?

Mulțumiri

3

2 răspunsuri

Try changing your hashes to :key => :value syntax. The same error and fixes are discussed at Rails 3.1 Deployment to Heroku Error. The temp fixes suggested are: config/initializers/session_store.rb

App::Application.config.session_store :cookie_store, :key => '_BillingMiddleware_session'

config/initializatori/wrap_parameters.rb

ActionController::Base.wrap_parameters :format => [:json]
5
adăugat
Acest lucru pare a fi o rezolvare rapidă a problemei. Mă întreb doar de ce se plâng de această sintaxă pentru hash-uri când rulez ruby 1.9.3?
adăugat autor MalcolmDurling, sursa
O mulțime de coduri deja angajate în proiecte, deși are noua sintaxă, pare inutil schimbând totul înapoi la vechea sintaxă atunci când lucrează pentru ceilalți membri ai proiectelor. Este tot ce pot încerca? Cand rulez ruby ​​-v primesc ruby ​​1.9.3p194 (2012-04-20 revizie 35410) [x86_64-darwin11.3.0] Folosesc RVM si cand rulez rvm lista cu rubine primesc doar = * ruby-1.9.3 -p194 [x86_64] Am rulat, de asemenea, rvm ruby-1.9.3-p194 care nu a ajutat.
adăugat autor MalcolmDurling, sursa
Acesta a fost cazul inițial, dar odată cu implementarea remedierii rapide, mi-a venit atenția că problema afectează fișierele din aplicație, odată ce sunt executate de server. Există altundeva în mediul meu pe care pot verifica dacă nu se întoarce la o versiune mai veche de rubin?
adăugat autor MalcolmDurling, sursa
Încă mai folosiți rubinul 1.8.7 în sistemul dvs. Atleast tu ești susținut. Mult noroc.
adăugat autor Anil, sursa
Obțineți aceeași eroare și în alte părți ale aplicației dvs.? Am crezut că aceasta este o problemă numai în timpul inițializării și nu afectează restul aplicației.
adăugat autor Anil, sursa
O altă soluție, în funcție de câtă libertate ai cu sursa ta. github.com/michaeledgar/hash_syntax .
adăugat autor Anil, sursa
V-am votat întrebarea din cauza utilității sale pentru altcineva care ar putea intra în aceeași problemă. Mulțumiri.
adăugat autor Anil, sursa
Puteți accepta răspunsul?
adăugat autor Anil, sursa

Arată ca sintaxa hash pe altă linie, după ce ai fixat-o pe asta. Verificați config/intializers/wrap_parameters.rb și mă întreb dacă acest proiect a primit steagul pentru a "nu" utiliza noua sintaxă?

1
adăugat
Am schimbat ambele să nu folosesc noua sintaxă, dar din nou pare să găsească mai multe exemple în cadrul proiectului folosind noua sintaxă și să se plângă. Proiectul a fost creat de colegul meu însuși, deci sunt sigur că nu va avea un drapel să nu folosească noua sintaxă. Se pare că poate să înceapă serverul fără probleme la sfârșitul lui.
adăugat autor MalcolmDurling, sursa
Când rulez ruby ​​-v Se întoarce ruby ​​1.9.3p194 (2012-04-20 revizuire 35410) [x86_64-darwin11.3.0]. De fiecare dată când am efectuat o actualizare sau am instalat ceva, am restart-o pe consola mea. Da, amândouă computerele noastre rulează 10.7.3.
adăugat autor MalcolmDurling, sursa
Ce spune ruby ​​-v ? Ați reluat fila dvs. de consola, poate că se întâmplă ceva ciudat. Și tu ești pe Leu și el pe Snow Leopard?
adăugat autor pjammer, sursa