【问题标题】:rails console doesn't startrails 控制台无法启动
【发布时间】:2014-08-08 04:29:36
【问题描述】:

我在我的应用程序的根目录中,当我输入时

$ rails console

似乎正在加载某些内容,但没有任何反应。

当我停止^C 时,我收到了这条跟踪信息:

^C/home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `gets': Interrupt
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:54:in `verify_server_version'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/run.rb:25:in `call'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/rails.rb:23:in `call'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /home/jonatas/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/jonatas/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/jonatas/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/jonatas/Code/Ruby/jonatasteixeira/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'

我不知道发生了什么事..

【问题讨论】:

  • 你最近更新过你的 Rails 版本吗?如果是这样this answer 可能会帮助你。
  • 不,我没有......当我尝试安装“gem debugger”时它开始发生

标签: ruby-on-rails ruby-on-rails-4 rails-console


【解决方案1】:

我可能回答得有点晚了,但为了其他正在寻找答案的人......它是here

基本上,输入这个命令

spring stop

据我所知,问题在于spring gem,具体来说,它会检查服务器的版本,但不符合要求。

就我而言,当我将一些新的 gem 添加到 gemfile 中时,问题就开始了。

所以一旦你停止 spring 并输入任何其他 rails 命令,spring 重启,一切都应该再次工作,至少在同样的问题发生之前,或者开发人员修补了问题。

【讨论】:

  • 这对我也有用,我试图运行rails runner,它只是立即返回而没有输出或运行任何东西,然后我尝试rails console,同样的事情发生了,但是@987654326 @ 工作。我试试这个spring stop 然后rails 控制台再次工作!
  • 下面有一个答案建议注释掉spring。那没有帮助。甚至发现,我必须spring stop才能让控制台正常工作。
  • 2.5 年后,在通过谷歌搜索一天后,这个答案帮助了我。 @on_a_railsroad。
  • 现在是 2018 年 7 月,这个答案仍然有用!我在 Ruby 5.0.7 和 Spring 2.0.2 上。
  • 天哪,这让我发疯了。感谢您的回答
【解决方案2】:

我以前从未见过这种情况,但您的设置中的 spring 似乎出于某种原因搞砸了?尝试进入您的Gemfile 并查找调用gem 'spring' 的行并将其注释掉。然后运行bundle install 再试一次。

这不是一个合适的解决方案,但如果它让您的 Rails 控制台今晚再次工作,那么希望它会帮助您,直到找到合适的解决方案。

【讨论】:

    【解决方案3】:

    运行 spring stop 对我有用。

    【讨论】:

      【解决方案4】:

      在我的情况下,我的生产环境也出现了同样的问题。

      如果您的环境也是生产环境,首先,您不能在生产环境中安装 spring。

      参考这个 https://github.com/rails/spring/issues/318 https://github.com/rails/spring/pull/337/files

      可以通过这个命令在你的生产中解决

      RAILS_ENV=production bundle install --clean --without development test

      【讨论】:

        【解决方案5】:

        我可以在 Rails 5.2.1 中再次运行rails console

        • bundle clean --force
        • bundle install --without development test

        注意:我的 RAILS_ENV 变量已设置为 production

        【讨论】:

          【解决方案6】:

          我在生产环境中遇到了同样的问题。 spring gem 不在 Gemfile 的开发组中。在我更正后一切正常。

          【讨论】:

            猜你喜欢
            • 2014-08-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多