2011-03-14 4 views

답변

17

gem의 실행 파일을 생성 할 필요가 없습니다. 이상적으로는 실행 파일은 보석이 기능을 제공하는 라이브러리에 따라 다릅니다. 예를 들어, the heroku executable in the Heroku gem에서 살펴 :

#!/usr/bin/env ruby 

lib = File.expand_path(File.dirname(__FILE__) + '/../lib') 
$LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib) 

require 'heroku' 
require 'heroku/command' 

args = ARGV.dup 
ARGV.clear 
command = args.shift.strip rescue 'help' 

Heroku::Command.run(command, args) 

이 명령 줄 및 선박을 구문 분석하는 데 필요한 최소한의 코드입니다 그 처리를 위해 Heroku가 라이브러리의 나머지 오프 데이터입니다. 실행 파일 자체가 작동 할 코드에 의존하기 때문에 코드가 변경 될 때 아무 것도 생성 할 필요가 없습니다.

4

당신이 루비를 사용하여 실행 파일을 만들려면, 당신이 찾고있는 키워드는 Shebang

간단히 추가, 당신이 원하는 경우 ".rb"확장자를 삭제, 파일 (빈/yourexecutable)를 만들 수있는 상단에 Shebang, /usr/bin/env ruby을 사용하고 있습니다.

#!/usr/bin/env ruby 
puts "hello world" 

chmod +x bin/yourexecutable을 통해 실행 가능한 플래그를 지정하고 직접 호출하여 실행할 수 있습니다.

varar:~ mr$ bin/yourexecutable 
hello world 
varar:~ mr$ 

자세한 내용은 Wikipedia page을 확인하십시오.

분명히 Windows에서는 작동하지 않습니다.

+0

나는 해시 뱅 (hashbang)에 대해 알고 있는데, 나는 이것을 레이크 (Rake)와 함께 만드는 가장 좋은 방법을 알고 싶다. –

+0

레이크 사용을 주장하는 이유가 있습니까? 'touch bin/yourexecutable && chmod + x bin/yourexecutable && my_editor bin/yourexecutable'로 파일을 만들고 실행 가능하게 만들고 편집 할 수 있습니다. –

+0

@BrandonTilley : 네, Rake와 함께 보석을 만들 것입니다. Rake를 사용하여 보석을 만들고 실행 파일을 만드는 것이 더 쉬울 것이라고 생각합니다. Rake와 함께 프로세스를 자동화하는 것이 더 빠를 것이라고 생각합니다. –

관련 문제