相关疑难解决方法(0)

我可以通过Ruby on Rails控制台记住我的命令历史记录,嗯,更好吗?

我在Ruby on Rails 3.1.1中使用控制台,我发现它的命令历史记录(向上箭头)非常脆弱.我已经运行的命令p = Product.by_name 'Acme'p.add_search_term('Snipe')今天好几次,在多个控制台会话.

然而,当我重新加载Ruby on Rails控制台时,只有第一个显示在我的命令历史记录中,而不是第二个.在我重新加载控制台后,有时他们都在历史中.最重要的是,我看到历史上的命令是几天前仅按下箭头几次之后的命令.是否需要更改某种配置或这是一个错误?

  • Ruby on Rails 3.1.1`
  • Ruby 1.9.2p290`
  • Ubuntu 11.10`

rails-console ruby-on-rails-3

65
推荐指数
1
解决办法
1万
查看次数

IRB历史不适用于Ruby 2.3.0

我在OS X 10.11.4上通过rbenv安装了Ruby 2.3.0p0.在IRB会议期间,历史记录正常.但是,我无法跨会话访问IRB历史记录.

我尝试了我的系统Ruby,2.0.0p648,IRB会话的历史记录工作正常.我尝试通过rbenv安装相同版本的Ruby,它也有工作历史.

我比较了IRB.conf工作会话和非工作会话之间的值,没有看起来不合适(尽管奇怪的是,在这两种情况下,irb/ext/save-history.rb都是空白文件).

查看我的.irb_history文件,它似乎被替换,而不是附加到最新会话的命令.我可以加载2.0.0 IRB会话并滚动这些命令就好了.

我已经尝试过rbenv irb历史记录中列出的答案没有成功保存.

我也尝试了irb历史中选定的答案不起作用.我不得不改变选择的答案来替换#nitems方法.这表明正在从历史文件中读出行,并将其推送到Readline::HISTORY.然而,检查Readline::HISTORY显示没有.

通过将我的.irb_history中的前一行添加到Readline历史记录中Readline.readline,并指定add_hist = true,我可以破解历史.但是,绝对不是将以前的命令添加到Readline的正确方法.

我知道我可以切换到像撬的东西,但我想弄清楚这一点.有关为什么命令没有被添加到Readline的任何建议,以及如何更改它?

ruby macos irb readline ruby-2.3

24
推荐指数
1
解决办法
5825
查看次数

rbenv irb历史不保存

我通过rbenv-installer安装ruby .

当我使用irb控制台时,我可以通过在键盘上按下来使用历史记录.当我从控制台退出并再次启动时,我无法使用史无前例的历史.当我按向上箭头按钮时,没有发生任何事情.

当我使用rvm这个选项工作.如何在rbenv中打开它?

ruby history irb rbenv

15
推荐指数
2
解决办法
6293
查看次数

OS X是否安装了/ etc/irbrc?irb读了吗?

在调查我的Mac上的irb问题时(OS X 10.11.5),我注意到了/etc/irbrc.前几行如下:

# Some default enhancements/settings for IRB, based on
# http://wiki.rubygarden.org/Ruby/page/show/Irb/TipsAndTricks

unless defined? ETC_IRBRC_LOADED

  # Require RubyGems by default.
  require 'rubygems'

  # Activate auto-completion.
  require 'irb/completion'

# continued ...
Run Code Online (Sandbox Code Playgroud)

它似乎已经过时了(rubygarden.org已经消失了,rubygems现在已经出现在标准库中了)并做了我一直认为必须自己做的事情~/.irbrc(设置完成,历史等).

它是日期为2016年1月31日.我可能会或可能不会在该日期运行Apple系统更新或升级其他内容; 我不记得了.从那时起,我肯定已经将OS X升级为一个或两个主要版本.

我不认为我在这台计算机上安装了任何Rubies,而不是OS X和安装了rbenv的Ruby 2.3.1(在我自己的帐户中,而不是root用户).也就是说,我不认为这个文件可能来自OS X之外的任何东西.

Unix shell约定会让我期望/etc/irbrc在任何用户运行irb之前执行一个名为的文件,~/.irbrc如果他们有一个.但是,OS X安装的irb似乎没有读取此文件:我放在puts 1顶部,当我运行irb时看不到结果.(我通常使用rbenv,但在调查此文件时禁用它.)/etc/irbrc似乎无法运行,无论我是否有~/.irbrc.此外,我看到没有提及此文件/usr/bin/irb/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.

我的猜测就是这个档案

  • 由OS X安装
  • 不是由irb读取(尽管它具有误导性的名称和位置),但是打算复制到~/.irbrc.

有谁知道肯定,或知道有什么不同?

我不需要或不需要它; 我很乐意保持自己~/.irbrc.我只是想确保它在运行时不会影响irb(特别是我通常使用的rbenv安装的Ruby中的irb),并且未来的OS X升级不会改变irb行为.

ruby macos irb

5
推荐指数
1
解决办法
526
查看次数