gpt4 book ai didi

ruby -/etc/irbrc 是 OS X 安装的吗? irb 读了吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:52 25 4
gpt4 key购买 nike

在我的 Mac (OS X 10.11.5) 上调查 irb 问题时,我注意到 /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 ...

它似乎已经过时了(rubygarden.org 已经不存在了,现在 ruby​​gems 在标准库中)并且做了我一直认为我必须在我自己的 ~/.irbrc 中做的事情>(设置完成、历史记录等)。

它的日期是 2016 年 1 月 31 日。我可能在那个日期运行过也可能没有运行过 Apple 系统更新或升级过其他东西;我不记得了。从那以后,我肯定已经将 OS X 升级了一两个主要版本。

我认为除了来自 OS X 的 Ruby 和使用 rbenv 安装的 Ruby 2.3.1(在我自己的帐户中,而不是以 root 身份)之外,我没有在这台计算机上安装任何 Rubies。也就是说,我认为该文件不可能来自 OS X 以外的任何系统。

Unix shell 约定会让我期望当任何用户运行 irb 时,一个名为 /etc/irbrc 的文件将在他们的 ~/.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),并且 future 的 OS X 升级不会改变 irb 行为。

最佳答案

根据 Mark Setchell 和 Jared Beck 的评论,/etc/irbrc 随当前 (10.13) OS X 安装,并且至少在几个主要版本中安装。

我将/etc/irbrc 复制到 ~/.irbrc,运行 irb,退出并得到一个错误:undefined method 'nitems' for ["exit"]:Array (NoMethodError)。此方法存在于 Ruby 1.8 中,但已从 Ruby 1.9 中删除。我通常不会看到此错误,因此我得出结论,根本没有执行/etc/irbrc。

总的来说,我得出结论,在调试 ~/.irbrc 问题时我可以忽略/etc/irbrc,这是我问题的来源。

关于ruby -/etc/irbrc 是 OS X 安装的吗? irb 读了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com