首页 > 解决方案 > 当我尝试在 Bash 中运行 pry 时出现错误

问题描述

我刚刚下载了 Pry gem 以使用它运行 Ruby 代码。我试图在 Windows 10 上的 Git Bash 中打开 pry 提示并返回一个巨大的错误:

For a better Pry experience on Windows, please use ansicon:
https://github.com/adoxa/ansicon
If you use an alternative to ansicon and don't want to see this warning again,
you can add "Pry.config.windows_console_warning = false" to your pryrc.
▽Error: Bad file descriptor
C:/tools/ruby30/lib/ruby/3.0.0/reline/ansi.rb:177:in `raw'
C:/tools/ruby30/lib/ruby/3.0.0/reline/ansi.rb:177:in `cursor_pos'
C:/tools/ruby30/lib/ruby/3.0.0/reline.rb:375:in `may_req_ambiguous_char_width'
C:/tools/ruby30/lib/ruby/3.0.0/reline.rb:212:in `inner_readline'
C:/tools/ruby30/lib/ruby/3.0.0/reline.rb:188:in `readline'
C:/tools/ruby30/lib/ruby/3.0.0/forwardable.rb:238:in `readline'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:198:in `block in input_readline'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/input_lock.rb:114:in `interruptible_region'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:197:in `input_readline'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:185:in `block in read_line'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:132:in `handle_read_errors'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:171:in `read_line'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:98:in `read'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:68:in `block in repl'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:67:in `loop'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:67:in `repl'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:38:in `block in start'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/input_lock.rb:61:in `__with_ownership'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/input_lock.rb:78:in `with_ownership'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:38:in `start'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/repl.rb:15:in `start'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/pry_class.rb:188:in `start'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/lib/pry/cli.rb:112:in `start'
C:/tools/ruby30/lib/ruby/gems/3.0.0/gems/pry-0.14.1/bin/pry:13:in `<top (required)>'
C:/tools/ruby30/bin/pry:23:in `load'
C:/tools/ruby30/bin/pry:23:in `<main>'
FATAL: Pry failed to get user input using `Reline`.
To fix this you may be able to pass input and output file descriptors to pry directly. e.g.
  Pry.config.input = STDIN
  Pry.config.output = STDOUT
  binding.pry

当我在 CMD Prompt 中运行它时效果很好,我不知道如何解决这个问题。

标签: rubywindowsbashpromptpry

解决方案


推荐阅读