2010-07-24 6 views
1

uni에서 무언가를 개발하고 집에 계속 머물고 자하는 Dropbox에 저장했습니다. 그러나rvm에서 분할 오류가 발생했습니다. RSpec을 실행할 때 Mac에서 Ruby를 사용합니다.

$ spec graph_spec.rb 
/Users/amadan/.rvm/gems/ruby-1.9.2-rc1/gems/PriorityQueue-0.1.2/ext/priority_queue/CPriorityQueue.bundle: [BUG] Segmentation fault 
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] 

,

$ `which spec` graph_spec.rb 
........................................................................... 

Finished in 0.046973 seconds 

75 examples, 0 failures 

는 도대체 여기 무슨 일이 나를 환영 메시지인가? 참고로

:

$ which spec 
/Users/amadan/.rvm/gems/ruby-1.9.2-rc1/bin/spec 

업데이트 : 난 그냥 거기 1.8.7를 발견 ... 어떻게 거기에 도착 했습니까? 사양 파일의 상단에는 다음과 같이 표시됩니다.

$ head `which spec` 
#!/Users/amadan/.rvm/rubies/ruby-1.9.2-rc1/bin/ruby 
# 
# This file was generated by RubyGems. 
# 
# The application 'rspec' is installed as part of a gem, and 
# this file is here to facilitate running it. 
# 

require 'rubygems' 

"run 1.8.7"

+0

답을 얻으려면 $ PATH를 보여줘야합니다. –

+0

'which'는'$ PATH'에 첫번째 파일을줍니다. 그 후, 루비는 해시 뱅 라인의 절대 경로로로드되어야합니다. 따라서'$ PATH'가 관련성이 있다고 생각할 수있는 유일한 곳에서'which spec' 명령의 출력으로 충분한 정보를 제공합니다. – Amadan

답변

0

RVM이 보석과 루비를 망칠 가능성이 있습니다. 정리 된 RVM 설치 (1.9 만 설치)에서 테스트해볼 것을 권합니다.

/Users/amadan/.rvm/rubies/ruby-1.9.2-rc1/bin/ruby은 실제로 루비 1.9.2입니까?

테스트 할 다른 방법은 명시 적으로 ruby spec을 실행하는 것이므로 실제로 이것이 1.9.2라고 확신 할 수 있습니다.

결론적으로 Segfault는 루비 (1.8에서는 특히)에서 발생하며 루비 코드를 약간 재구성하면 피할 수 있습니다. 행운을 빕니다 !

+0

댓글을 주셔서 감사합니다. RVM으로 진행된 펑키 한 일이 있다고 생각하기 때문에 이것을 올바르게 표시 할 것입니다. 그러나 그 해의 질문은 사실 관계가 없습니다. 나는 아직도 똑같은 일로 인해 당황스럽고, 더 이상 그것을 해결할 필요가 없다. – Amadan

관련 문제