[ruby-on-rails] 로드시 Ruby on Rails 콘솔이 정지됨

어떤 이유로 든 Ruby on Rails 콘솔은 시작을 거부합니다. 그냥 걸려요. 코드를 변경하지 않았으며 동일한 버전의 Ruby 및 Ruby on Rails를 사용하는 다른 프로젝트에는 문제가 없습니다. 마지막으로 Ctrl+를 누르면 CSpring을 가리키는이 스택 추적을 얻습니다.

왜 이런 일이 발생했는지 설명 할 수 없습니다. RVM을 통해 모든 gem을 지우고 bundle 명령을 통해 다시 설치했지만 여전히 운이 없습니다. 모든 아이디어를 부탁드립니다.

또한 Ruby on Rails 서버에는 내가 알 수있는 한 문제가 없습니다. 이 문제는 프로젝트와 관련이 있지만 코드는 변경되지 않았으며 문제가있는 것은 Ruby on Rails 콘솔뿐입니다.

루비 2.1.2
레일 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$



답변

스프링을 다시 시작하면 교수형 명령이 수정됩니다.

$ bin/spring stop

새 Ruby on Rails 애플리케이션을 삭제하고 다시 작성한 후 정지 명령 (레이크, 빈 / 레일 등)이 발생했습니다. 구글은 그다지 도움이되지 않았습니다. 이것이기를 바랍니다.

명령을 다시 실행하면 Spring이 자동으로 시작됩니다.


답변

내가 생각하는 Spring gem 버전에 문제가 있습니다.

Gemfile로 가서 gem ‘spring’을 주석으로 처리하십시오. 그런 다음 실행 bundle install하고 다시 시도하십시오.

# gem 'spring'

그리고:

bundle install

작품이 보석에 의존하는 경우 다음을 통해 보석을 업데이트하십시오.

bundle update


답변

경우 $ bin/spring stop문제가 해결되지 않는 한 다음 확인 여전히 주위를 어슬렁 고아 봄 과정이없는 확인하십시오 :

$ ps aux | grep -i spring

당신이 뭔가를 보면

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     

그런 다음 잘못된 스프링 프로세스를 종료하고 콘솔을 다시 시작하십시오.

$ kill -9 16980
$ rails c


답변

Spring이 이상한 원인이라고 의심되면 다음 명령을 실행하십시오.

spring stop && spring start


답변