装载时悬挂在导轨控制台上的红宝石

the*_*eog 129 ruby console ruby-on-rails

无论出于何种原因,rails控制台都拒绝启动,它只是挂起.我没有对我的代码进行任何更改,而使用相同版本的ruby和rails的其他项目也没有问题.当我最终按Ctrl + C时,我得到这个堆栈跟踪,指向spring.

我无法解释为什么这种情况从一个时刻发生到另一个时刻,它工作正常.我通过RVM清除了所有的宝石,并通过捆绑命令重新安装,但仍然没有运气.任何想法,将不胜感激.

此外,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$
Run Code Online (Sandbox Code Playgroud)

小智 386

重新启动spring应修复挂起的命令:

$ bin/spring stop
Run Code Online (Sandbox Code Playgroud)

删除并重新创建新的Rails应用程序后,我经历了挂起命令(rake,bin/rails等).谷歌没那么有用.我希望这是.

重新运行命令时,Spring将自动启动.

  • 刚遇到这个问题:当我运行 `bin/spring stop` 时,我收到了响应 `Spring is not running。` 所以,我运行了 `ps aux | grep spring`,看到 5 个 spring 进程正在运行,并手动杀死它们,从而解决了问题。 (4认同)
  • 这不适合我.停止弹簧后我仍然遇到问题. (3认同)

Yur*_*pup 11

当怀疑 Spring 是导致异常的原因时,尝试运行以下命令:

spring stop && spring start
Run Code Online (Sandbox Code Playgroud)


Eki*_*bal 7

我觉得Spring gem版本有问题.

转到你的Gemfile并评论gem'spring'.然后运行bundle install并再试一次.

# gem 'spring'
Run Code Online (Sandbox Code Playgroud)

然后:

bundle install
Run Code Online (Sandbox Code Playgroud)

如果您的工作取决于宝石,请尝试通过以下方式更新宝石:

bundle update
Run Code Online (Sandbox Code Playgroud)

  • 警惕`捆绑更新'.如果你这样做,你就有机会在整个环境中从根本上改变你的宝石版本.这可能会引入许多你不想要的副作用.你也可以做`bundle update spring`来更新一个gem (3认同)