web-dev-qa-db-ja.com

ruby on Railsロード時にコンソールがハングする

何らかの理由でRailsコンソールは起動を拒否し、ハングします。コード、および同じバージョンのRubyを使用する他のプロジェクトに変更を加えていません。 =およびRailsは問題ありません。最後にCtrl + Cを押すと、このスタックトレースを取得します。

ある瞬間から次の瞬間にうまくいった理由を説明できません。 RVMを介してすべてのgemを消去し、bundleコマンドを使用してすべてを再インストールしましたが、それでも運はありません。任意のアイデアをいただければ幸いです。

また、Railsサーバーには問題がないため、問題はプロジェクトに関連していますが、コードは変更されておらず、その唯一のRailsコンソール問題があります。

Ruby 2.1.2 Rails 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$ 
125
theog

スプリングを再起動すると、ハングしているコマンドが修正されます。

$ bin/spring stop

新しいRailsアプリを削除して再作成した後、ハングコマンド(レーキ、ビン/レールなど)を経験しました。Googleはそれほど役に立ちませんでした。

コマンドを再実行すると、Springが自動的に起動します。

376
cee-dub

それは私が推測する春の宝石バージョンで何か間違っている。

Gemfileに移動して、gem 'spring'にコメントします。次に、バンドルインストールを実行して、再試行します。

# gem 'spring'

その後:

bundle install 

作業がgemに依存している場合は、次の方法でgemを更新してください。

bundle update
7
Eki Eqbal

$ bin/spring stopは問題を解決しませんが、孤立したSpringプロセスがまだぶら下がっていないことを確認します。

$ 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
1
littleforest

春が奇妙さの原因であると疑われる場合、このコマンドを実行してみてください

spring stop && spring start
0
Yurii Halapup