我刚刚在 Windows 机器上安装了 ruby 1.9.2,Backspace 或任何其他箭头键都不起作用。仅当我在 Git Bash 控制台上打开 IRB 时才会发生这种情况。但它在 Windows 控制台上运行良好。有什么帮助吗?
注意:IRB 在使用早期版本的 ruby 的两个控制台上都可以正常工作。
同样的事情发生在我身上。使用--noreadline运行 irb解决了我的问题:
irb --noreadline
似乎您在编译 ruby 时没有安装 readline。所以安装 readline,也许还有 readline-devel,然后重新编译 ruby。
您还可以在 ~/.irbrc 中禁用 readline
IRB.conf[:USE_READLINE] = false
如此处所述https://groups.google.com/forum/#!topic/rubyinstaller/HgswOz1T-eE,使用以下命令/别名:
alias irb="ruby -S irb"
如果这不起作用,请改用 pry:
gem install pry
安装 rb-readline gem。
gem install rb-readline
简短的回答我必须进行 brew upgrade,(显然情况是,据我采访过的一位 ruby 专家说,“主干中有一个新的默认 gem,Reline,这是一个 readline 后备。”)。然后 irb 中的新窗口和箭头键起作用了。然后 sudo gem install pry, new window, and pry 工作。ruby --version 降到 2.3,我不得不做 brew install ruby,它说 ruby 2.6 已经安装并且要 brew reinstall ruby,它说要更新路径,我这样做了,然后就好了。安装了红宝石 2.6。编辑-现在rails坏了..我会进一步更新。
更详细的答案。
我遇到了 ruby irb 箭头键不起作用的问题,
~/blah$ irb
irb(main):001:0> ^[[A^[[D^[[B^[[C
我在osx上,几个月前我认为我没有这个问题
并且在启动pry时也出现错误,pry<ENTER> it says "Reason: image not found - /usr/local/Cellar/ruby/2.5.0/lib/ruby/2.5.0/x86_64-darwin16/readline.bundle"
我试过brew link readline --force
了 没用 我试过irb --noreadline
了 没用
但对我有用的是来自红宝石专家的 - brew upgrade
据我采访过的一位 ruby 专家说,显然情况是“主干中有一个新的默认 gem,Reline,这是一个 readline 后备。”
然后我启动了一个新的终端窗口,$irb 使用箭头键。
然后我做了sudo gem install pry
,打开了一个新的终端窗口,然后撬开了。
Ruby 真的应该是 2.6 时又回落到 2.3,我以为是 2.6
所以我做了brew install ruby
,它说 ruby 2.6 已经安装,并建议brew reinstall ruby
. 所以我做到了brew reinstall ruby
。打开一个新的终端窗口。它仍然在2.3上。但它建议添加export PATH="/usr/local/opt/ruby/bin:$PATH"
到 .bash_profile (osx 上自动运行的文件)。我这样做是行不通的,但是在PATH="/usr/local/opt/ruby/bin:$PATH"
每个终端会话开始时手动执行是可行的。
编辑-现在rails坏了,我会进一步更新。
更新路径后运行宝石时,我得到了宝石。
这个解决方案并不理想,因为它提供了两个版本的 ruby,因此当然也提供了两个版本的 gem
Last login: Fri Aug 9 16:02:48 on ttys001
have run /Users/apple/.bash_profile
~$ cd /usr/local/opt/ruby/bin
/usr/local/opt/ruby/bin$ ls
bundle bundler erb gem irb rake rdoc ri ruby
/usr/local/opt/ruby/bin$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/rubymac/rubyrailshelperscripts:/opt/X11/bin:/Users/apple/.vimpkg/bin:/usr/local/opt/fzf/bin
/usr/local/opt/ruby/bin$ which gem
/usr/bin/gem
/usr/local/opt/ruby/bin$ cd ~/
~$ /usr/local/opt/ruby/bin/ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin16]
~$ /usr/bin/ru
ruby runocc.d
~$ /usr/bin/ruby --version
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin16]
~$