ruby – 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 ... 它似乎已经过时了(rubygarden.org已经消失了,这些天rubygems已经出现在标准库中了)并做了我一直认为必须在我自己的?/ .irbrc(设置完成,历史等等)的事情. ). 它是日期为2016年1月31日.我可能会或可能不会在该日期运行Apple系统更新或升级其他内容;我不记得了.从那时起,我肯定已经将OS X升级为一个或两个主要版本. 我不认为我在这台计算机上安装了任何Rubies,而不是OS X和安装了rbenv的Ruby 2.3.1(在我自己的帐户中,而不是root用户).也就是说,我不认为这个文件可能来自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安装 有谁知道肯定,或知道有什么不同? 我不需要或不需要它;我很乐意维持自己的?/ .irbrc.我只是想确保它在运行时不会影响irb(特别是我通常使用的rbenv安装的Ruby中的irb),并且未来的OS X升级不会改变irb行为. 解决方法
根据Mark Setchell和Jared Beck的评论,/ etc / irbrc与当前(10.13)OS X一起安装,至少已经有几个主要版本.
我将/ etc / irbrc复制到?/ .irbrc,运行irb,退出并出错:未定义的方法’nitems’为[“exit”]:Array(NoMethodError).这个方法存在于Ruby 1.8中,但已从Ruby 1.9中删除.我通常不会看到这个错误,因此我得出结论,/ etc / irbrc根本没有执行. 总的来说,我得出结论,在调试我的?/ .irbrc问题时我可以忽略/ etc / irbrc,这是我的问题的起源. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |