You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby/Rails终端命令错误输出首行缺失问题求助

Ruby/Rails命令错误输出首行缺失问题

困扰这个问题很久了,之前一直忍,但现在实在顶不住,找了各种办法都没解决。每次在终端执行Ruby/Rails命令,错误输出的首行都会消失——而那行恰恰是实际的错误信息。

我的环境是Ubuntu 20.04,用zsh/oh-my-zsh,bash里也有同样的问题,而且多个Ruby版本都出现这个情况。

示例错误输出:

➜  CODE_BASE git:(branch_name) ✗ rails routes
Traceback (most recent call last):
    42: from bin/rails:9:in `<main>'
    41: from bin/rails:9:in `require'
    40: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/commands.rb:18:in `<top (required)>'
    39: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/command.rb:48:in `invoke'
    38: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/command/base.rb:69:in `perform'
    37: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
    36: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
    35: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
    34: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/commands/routes/routes_command.rb:13:in `perform'
    33: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/command/actions.rb:15:in `require_application_and_environment!'
    32: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/command/actions.rb:28:in `require_environment!'
    31: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application.rb:367:in `require_environment!'
    30: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:332:in `require'
    29: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:299:in `load_dependency'
    28: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:332:in `block in require'
    27: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:332:in `require'
    26: from /home/penguin/Projects/CODE_BASE/config/environment.rb:5:in `<top (required)>'
    25: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application.rb:391:in `initialize!'
    24: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/initializable.rb:60:in `run_initializers'
    23: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
    22: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
    21: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
    20: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:347:in `call'
    19: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:347:in `each'
    18: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
    17: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
    16: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    15: from /usr/share/rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
    14: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/initializable.rb:61:in `block in run_initializers'
    13: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/initializable.rb:32:in `run'
    12: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/initializable.rb:32:in `instance_exec'
    11: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/finisher.rb:195:in `block in <module:Finisher>'
    10: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:10:in `execute'
     9: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/file_update_checker.rb:83:in `execute'
     8: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:35:in `block in updater'
     7: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:21:in `reload!'
     6: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:47:in `load_paths'
     5: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:47:in `each'
     4: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/railties-6.1.4.1/lib/rails/application/routes_reloader.rb:47:in `block in load_paths'
     3: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:326:in `load'
     2: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:299:in `load_dependency'
     1: from /home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:326:in `block in load'
/home/penguin/.rvm/gems/ruby-2.7.6/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:326:in `load':

解决步骤

  • 先重置终端设置:执行stty sane,然后再运行Rails命令测试,终端行配置异常可能导致首行被吞。
  • 测试纯净shell环境:zsh下执行zsh --no-rcs,bash下执行bash --norc,再运行命令,排除oh-my-zsh或shell配置的干扰。
  • 重新生成RVM wrapper脚本:如果用RVM,执行rvm wrapper regenerate,修复可能被损坏的Rails命令包装脚本。
  • 捕获完整输出:临时需要看错误的话,把输出重定向到文件:rails routes > error.log 2>&1,打开error.log就能看到完整内容。
  • 排查全局/项目问题:在项目外执行ruby -e 'raise "测试错误"',如果首行也缺失,说明是全局Ruby环境问题;如果正常,那就是项目代码里有修改异常输出的配置。

内容的提问来源于stack exchange,提问作者rescue_penguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 05:18:17