Ruby on Rails konsolu yüklenirken takılıyor


151

Herhangi bir nedenle Ruby on Rails konsolu başlamayı reddeder; sadece kilitleniyor. Kodumda herhangi bir değişiklik yapmadım ve Ruby ve Ruby on Rails'in aynı sürümünü kullanan diğer projelerde sorun yok. Sonunda Ctrl+ CBahar'ı gösteren bu yığın izini elde ettiğimde.

Bunun neden bir andan diğerine olduğunu, nerede iyi çalıştığını açıklayamam. RVM aracılığıyla tüm mücevherleri temizledim ve hepsini paket komutuyla yeniden yükledim, ancak yine de şansım yok. Herhangi bir fikir takdir edilecektir.

Ayrıca Ruby on Rails sunucusunun anlayabildiğim kadarıyla bir sorunu yok. Sorun proje ile ilgilidir, ancak hiçbir kod değişmemiştir ve sorunu olan yalnızca Ruby on Rails konsoludur.

Ruby 2.1.2
Raylar 4.1.4

user_a@ubuntu:~/work/app_a$ rails console
^C/home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
    from /home/user_a/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
    from /home/user_a/work/app_a/bin/spring:16:in `require'
    from /home/user_a/work/app_a/bin/spring:16:in `<top (required)>'
    from bin/rails:3:in `load'
    from bin/rails:3:in `<main>'

user_a@ubuntu:~/work/app_a$

Yanıtlar:


426

Yay'ı yeniden başlatmak, asılı komutları düzeltmelidir:

$ bin/spring stop

Yeni bir Ruby on Rails uygulamasını silip yeniden oluşturduktan sonra asılı komutlar (rake, bin / rails, vb.) Deneyimledim. Google o kadar yardımcı olmadı. Umarım budur.

Komutunuzu yeniden çalıştırdığınızda bahar otomatik olarak başlayacaktır.


Bu benim için Rails 4.1.1 ile çalıştı. Ne yaptığını görmek için Spring Gem'i okumam gerekiyor.
jetimms

1
@ cee-dub ama arkasındaki sebep nedir, yay neden rayları konsol çalıştırmasına izin vermiyor?
kamal

3
Bu benim için işe yaramadı. Baharı durdurduktan sonra hala sorun yaşıyorum.
Donato

3
sadece bu sorunla karşılaştım: koştuğumda bin/spring stopyanıtı Spring is not running.aldım Bu yüzden koştum ps aux | grep spring, 5 yay işleminin çalıştığını gördüm ve bunları manuel olarak öldürerek sorunu çözdüm.
Ian Taylor

İnanılmaz! Bunu asla tahmin edemezdim.
Rambatino

7

Bahar cevheri versiyonunda bir sorun var sanırım.

Gemfile'ınıza gidin ve cevher 'spring'i yorumlayın. Ardından koşun bundle installve tekrar deneyin.

# gem 'spring'

Ve sonra:

bundle install

Çalışmanız mücevhere bağlıysa, mücevherleri şu şekilde güncellemeyi deneyin:

bundle update

Bu benim için de 4.1.4 raylı Linux
Mint'te çözdü

3
dikkatli olun bundle update. Bunu bu şekilde yaparsanız, tüm ortamda mücevher sürümlerinizi kökten değiştirme şansına sahip olursunuz. Bu, istemediğiniz birçok yan etkiye neden olabilir. Ayrıca bundle update springsadece bir mücevheri güncellemek için de yapabilirsiniz
jaydel

@jaydel Her zaman sürümlerinizi, yol sürümü de dahil olmak üzere gemfile dosyanıza koymalısınız. Bundler, küçük sürümleri otomatik olarak güncelleyecektir ancak büyük sürümleri güncellemeyecektir, ancak istediğiniz zaman başlangıçta belirttiğiniz sürüme (uygulamanızın çalıştığını bildiğiniz) geri dönebilirsiniz.
Ben Aubin

Gemfile'ınıza sürüm koyma ile ilgili - kabul etti. Büyük sürümlere güncelleme ile ilgili kısıtlamayı bilmiyordum ama
iyice

3

Eğer $ bin/spring stopsorunu çözmüyor, daha sonra emin hala takılmak yetim bir Bahar süreç yoktur olun:

$ ps aux | grep -i spring

Gibi bir şey görürsen

user  7163  0.0  0.0 110356  2165 pts/3    S+   19:40   0:00 grep --color=auto -i spring
user 16980  0.0  0.4 398826 17580 ?        Sl   Aug31   0:00 spring server | current | started 277 hours ago     

sonra hatalı yay sürecini sonlandırın ve konsolu yeniden başlatmayı deneyin:

$ kill -9 16980 
$ rails c

1

Bahar'ın tuhaflığın nedeni olduğundan şüphelenildiğinde, şu komutu çalıştırmayı deneyin:

spring stop && spring start

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.