ruby - 当我尝试在 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 中运行它时效果很好,我不知道如何解决这个问题。
解决方案
推荐阅读
- python - Azure DevOps - 添加到构建管道的 Python 和 Powershell 任务未发布其进度
- python-3.x - 完成训练过程后如何获得模型的训练精度?
- c - 辛科去哪儿了?(海合会 c)
- python - transaction.atomic 是否有可能无法按预期工作?
- php - 自定义搜索文本字段位置数据表
- python - 如何更改在 QML 中具有多个音轨的视频的音轨
- optimization - Pytorch:如何针对多重损失优化多个变量?
- git - 如何将服务器端挂钩添加到 GitLab?
- node.js - '对 https://www.googleapis.com/oauth2/v4/token 的请求失败,原因:无法获取本地颁发者证书。节点JS
- c# - SetThreadDesktop 没有将表单切换到另一个桌面