2016-06-03 2 views
4

내 Mac (OS X 10.11.5)에서 irb와 관련된 문제를 조사하면서 /etc/irbrc을 발견했습니다. 처음 몇 줄은 다음과 같습니다OS X에서/etc/irbrc를 설치 했습니까? irb가 그것을 읽나요?

# 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가 없어, 젬 요즘 표준 라이브러리에있다) 나는 항상 내 자신에해야 할 일을했을 생각 일을 ~/.irbrc (설정 완료, 기록 등).

2016 년 1 월 31 일입니다. Apple 시스템 업데이트를 실행했거나 설치하지 않았을 수 있습니다. 나는 기억하지 않는다. 그 후 OS X를 메이저 버전으로 업그레이드했습니다.

OS X 및 Ruby 2.3.1이 rbenv (루트가 아니라 내 계정에 설치된) 이외의 다른 컴퓨터에이 루비가 설치되어 있다고 생각하지 않습니다. 즉,이 파일이 OS X 이외의 것으로부터 왔을 수는 없다고 생각합니다.

유닉스 쉘 규칙을 사용하면 임의의 사용자가 irb를 실행 한 후 ~/.irbrc 그들에게는 하나가있었습니다. 그러나 OS X에서 설치 한 irb는이 파일을 읽지 못합니다. 상단에 puts 1을 넣었고 irb를 실행하면 결과가 표시되지 않습니다. (나는 보통 rbenv를 사용하지만이 파일을 조사하는 동안 그것을 사용하지 않습니다.) ~/.irbrc이든 아니든 /etc/irbrc이 실행되지 않는 것 같습니다. 또한 /usr/bin/irb 또는 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb에이 파일에 대한 언급이 없습니다.

내 생각 엔이 파일

  • 은 그대로 (의 잘못된 이름과 위치에도 불구하고) IRB 읽을되지
  • OS X에 의해 설치되어 있지만 ~/.irbrc에 복사하기위한 것입니다 것입니다.

확실히 아는 사람이 있습니까?

나는 그것을 필요로하지 않거나 원한다. 나는 내 자신을 유지하게 행복하다 ~/.irbrc. 나는 단지 irb에 영향을 미치지 않는다는 것을 확신하고 싶다. (특히, 내가 일반적으로 사용하는 rbenv-installed Ruby의 irb), 미래의 OS X 업그레이드는 irb의 동작을 변경하지 않을 것이다.

+2

내 요세미티 시스템에 있는데 루비를 전혀 사용하지 않았습니다. –

+0

우선 우선 순위를 먼저 읽는 측면에서 우선 순위가 있다고 생각합니다. 귀하의 홈 디렉토리에있는 하나가 그것을 대체해야합니다. – tadman

+0

@tadman no,'/ etc/irbrc'는'~/.irbrc' 여부와 관계없이 나를 위해 실행되지 않는 것 같습니다. 나는 그 질문에 유의할 것입니다. –

답변

4

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를 무시할 수 있다고 결론을 내 렸습니다.

+1

'/ etc/irbrc'는 OS 10.13의 새로 설치에 포함되어 있습니다. –