rails g scaffold が帰ってこない

投稿者: Anonymous

mac で、 rails の開発をしようとしています。 rails new kaikei --database=mysql でプロジェクトを作成した後に、 cd して、 g scaffold しようとしたところ、コマンドが帰ってきませんでした。

% bundle exec rails g scaffold account_title name:string
^C/Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/run.rb:117:in `gets': Interrupt
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/run.rb:117:in `verify_server_version'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/run.rb:62:in `run'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/run.rb:42:in `warm_run'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/run.rb:35:in `call'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:24:in `call'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
        from /Users/yukiinoue/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
        from /Users/yukiinoue/Repositories/kaikei/bin/spring:15:in `require'
        from /Users/yukiinoue/Repositories/kaikei/bin/spring:15:in `<top (required)>'
        from bin/rails:3:in `load'
        from bin/rails:3:in `<main>'

bundle exec rails s などは、問題なく実行され、 rails の Yay! You’re on Rails! 画面が表示されています。なので、一体何が原因なのか、ちょっと分からないな、と感じている状態です。

質問:

  • どうして、 g scaffold が実行できないのでしょうか?

補足:

環境は以下の通りです。

  • 端末: terminal.app + tmux
  • シェル: zsh

上記のログは、コマンド入力直後に何も反応がないのでCtrl-Cで停止割り込みをかけた際に発生するエラーメッセージです。

解決

rails new testappしてごそごそした後にこれを一回削除し、もう一度rails new testappすると、前に実行されたspringが残っているが使用できない状態になります。

springのプロセス探してkillしてください。

私は乱暴にcronでpkill -KILL -f springを夜中に実行してます。


質問者追記

おそらく、これが発生していた様子です。 bin/spring stop で解消しました。 itmammoth さんのコメントも参考にいたしました。ありがとうございました。

回答者: Anonymous

Leave a Reply

Your email address will not be published.