Agile2robust
Be agile to be robust

루비 스크립트 실행 파일로 배포

By lordmiss on 2010/04/06

(프로그래밍을 전혀 모르는) 팀원들이 내가 짠 루비 스크립트를 써야 할 일이 있다보니, 이 스크립트들을 윈도우에서 동작하는 실행 파일로 만들 필요가 있었다.

이전에 csv2ufs와 마찬가지로 이번에도 rubyscript2exe를 쓸 생각이었는데, 이게 제대로 동작을 하지 않는 문제가 있었다. 구글 검색을 해 보니 루비가 업데이트되면서 동작 방식이 바뀐 것 때문에 생기는 문제인데, 해결책이 나와 있긴 했지만, 내 경우에는 이 방법이 통하지 않았다. 게다가 메인 프로그램 자체가 2007년에 0.5.3 버전이 나온 이후로 한 번도 업데이트되지 않고 있는만큼, 이 프로젝트는 이제 죽은 것이라고 생각해도 좋을 듯.

덕분에 비슷한 일을 하는 다른 프로그램들이 있는지를 알아보게 되었고, 두 가지의 프로젝트를 알게 되었다. 하나는 crate, 또 다른 하나는 ocra이다. 찬찬히 살펴보니 crate의 경우에는 절차가 꽤 복잡한 듯 보였고 ocra는 상대적으로 간단해 보였다. 그래서 그냥 ocra로 가기로 결정!

ocra를 사용해서 윈도우용 실행 프로그램을 만드는 것은 매우 간단하다. 우선

> sudo gem install ocra

로 설치를 마친 후에

> ocra script.rb

하면 그만이다.

내 경우에는 이렇게 만든 실행 파일을 실행시켰을 때 에러가 발생했는데, 무슨 이유인지는 모르지만 mime-type gem에서 제공하는 types.rb.data 파일을 찾을 수 없다는 메시지를 내 뱉는 것이었다. 그냥 통밥을 굴려서 스크립트 이름 뒤에 해당 파일의 긴 경로를 모두 적어주고 다시 만들었더니 아무 문제없이 완료! (이걸로 봐서는 이 녀석이 하는 일이라는 것이 일단 스크립트를 실행해서 어떤 파일들이 필요한지를 파악한 후에 해당 파일들을 몽땅 압축해서 넣어주는 것으로 보인다. 어떤 이유에서든 필요한 파일이 파악되지 않은 경우에는 당연히 해당 파일이 포함이 안되므로 에러가 날 것이고, 이런 경우에는 그냥 실행 파일을 만들 때 해당 경로의 파일을 넣어버리면 그만인 것이다.)

orca는 LZMA 압축을 기본으로 지원하므로 파일의 크기가 상대적으로 작은 편이라고 한다. GUI를 포함한 경우는 보통 3메가 정도, GUI를 포함하지 않는 작은 스크립트인 경우에는 보통 1메가 이하의 파일이 만들어진다고 하는데, 내 경우에는 매우 작은 프로그램이면서 여러 개의 gem들을 사용하는 관계로 1.35메가 정도 크기로 만들어졌다. (사실 요즘같은 시대에 실행파일 크기가 뭔 상관인가 할 수도 있지만, 요즘 싱가폴에서 살다보니 한국에서 살 때와는 파일 크기에 대한 기본적인 생각 자체가 달라진 듯 해서…)

아직 많이 해 본 것은 아니지만, 최근까지 개발이 이어지고 있는 것으로 봐서는 rubyscript2exe를 대체할 수 있을 듯 하다.

Posted in 화학정보학 | Tagged binary, crate, ocra, ruby, rubyscript2exe, 윈도우 | 1 Response

  • Pingback: Sinatra로 간단한 웹 서비스 개발

« Previous Next »

Pages

  • 이 블로그는 개점 휴업?
  • 이 블로그에 대해
  • 피드버너를 중지합니다.

Categories

  • 과학 일반
  • 기타
  • 분자모델링
  • 소프트웨어
  • 신약개발
  • 화학정보학

Archives

Tag cloud

신약개발 집단지성 cheminformatics 위키 공유 문헌 데이터베이스 단백질 protein structure QSAR 블로그 생합성 자바 SMILES ruby youtube rcdk Depth-first 롱테일 비디오 InCHI 저널 sdf 데이터 openbabel PDB 과학 wikipedia python 구글 화학 Pipeline Pilot CAS number Web2.0 Jmol Chempedia open source java 화학정보학 논문 chemical database Nature 파이어폭스 Grid Computing pubchem

RSS Calm Shouting

  • 창조론과 진화론 – 어떤 짧은 논쟁 (2)
  • 창조론과 진화론 – 어떤 짧은 논쟁
  • 윈도우에서 Typinator 기능 사용하기
  • 윈도우에서 스크롤 방향 바꾸기
  • Momolog 데이터를 Momento로 옮기기

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Copyright © 2012 Agile2robust.

Powered by WordPress and Hybrid.

Array