[Ruby] Ubuntu 12.04 + Ruby 1.9.3p0 + AptanaStudio3 Develop Tip

역시 새로운 환경에서 새로운 언어를 해 보는 것은 쉬운 일이 아니네요.
더군다나 해당 언어가 최신 버전을 요구할 때는 더 말이지요.

암튼 며칠에 걸쳐 두 번째의 시도로 ruby 의 스크립트 개발 환경과 Debug 환경을 구축했습니다.
IDE로는 Eclipse + RDT 로 연결을 해 보려고 하였으나 아직 잘 모르는게 있어서 그런지 실패를 했고,
일단은 Aptana Studio 3에서 아무런 설정 변경 없이 성공했습니다.

일단 Ubuntu 12.04 LTS Desktop (Server 버전도 상관없습니다)에
최신 ruby 1.9.3p0 버전을 설치하는 방법을 참고하시구요,

debuger를 위해서

$ sudo gem install ruby-debug19
$ sudo gem install ruby-debug-ide

를 설치했습니다.

$ gem list
...
linecache19 (0.5.12)  <== 이놈 때문에 eclipse 에서는 오류가 난다고 최근에 보고가 많이 있군요
...
ruby-debug-base19 (0.11.25)
ruby-debug-ide (0.4.16)
ruby-debug19 (0.11.6)
...
위와 같이 gem 패키지가 설치되어 있습니다.

이제 Aptana Studio 3에서 ruby 프로그램을 돌리고,
디버그를 수행하려고 하면
'is_binary_data?' 어쩌구 저쩌구 하는 오류가 발생합니다.

구글에 검색을 해 보았더니,
해당 함수가 버전업 되면서 삭제된 문제라는 것이었다.

RoR도 좋도 다 좋은데 파이썬에 비해서는
안정성 및 프레임워크의 탄탄한 면 등에서 아직까지는
파이썬에 비하여 Ruby가 더 낫다라는 것을 못 느끼겠다.

위의 문제를 해결하기 위하여,

$ sudo vi /var/lib/gems/1.9.1/gems/ruby-debug-ide-0.4.16/lib/ruby-debug/xml_printer.rb
파일을 열어,


위와 같이,
class String
  def is_binary_data?
    ( self.count( "^ -~", "^\r\n" ).fdiv(self.size) > 0.3 || self.index( "\x00" ) ) unless empty?
  end
end
내용을 추가하고 저장하면 됩니다.

그리고 Aptana Studio 3에서 ruby를 열고 breakpoint를 잡고 디버깅을 걸면 ,


와 같이 이상없이 잘 디버깅 됨을 알 수 있습니다.
(Eclipse + RDT와 같이 Ruby Project는 별도로 없고 Web Perspective를 이용하면 됩니다.)

이번 것은 의외로 시간이 많이 들었지만,
좌절하지 않고 차근 차근 하니 풀어진다는 진리를 한번 더 깨닫게 해 준 개인적인 사건이었네요. ^^

어느 분께는 도움이 되시기를 바라는 마음에서..



덧글

  • 오오 2012/05/17 17:00 # 답글

    개인적으로 RoR이 정형화된 웹 서비스 같은 것을 구축할 때는 (많은 코드를 생성해 주니까) 좀 편한맛이 있지만,
    각종 부가 라이브러리(를 돌아가는 OS환경에 맞는) 버전 맞춰서 배포하는 것이 좀 뭐같은것이...

    또 업그레이드하면 과감한 deprecate와 설계 변경이 함께 따라오는 느낌도 좀 많이 드는 것이 문제인 듯...

    좋은 정보 감사합니다.
  • 지훈현서아빠 2012/05/17 21:56 #

    파이썬은 그런 단점이 좀 적은 반면에 RoR 같은 TurboGear 혹은 장고가 RoR 처럼 유명하지 않은 차이점이 있네요.
    그래도 현재 스크립트 언어 중에서는 파이썬과 루비가 양분을 하고 있는 듯한 느낌입니다...
    도움이 되셨다니 저의 보람입니다 ^^
  • Wally 2012/07/11 13:58 # 삭제 답글

    이 문제로 2시간 정도 씨름하다가 여기까지 왔습니다.
    감사합니다.
  • 지훈현서아빠 2012/07/11 14:22 #

    도움이 되셨다니 저의 보람입니다~ ^^
댓글 입력 영역

구글애드텍스트