2010-12-15 5 views
1

Ruby 애플리케이션을 RubyGem으로 패키징하려고합니다 (Jeweler 및 Rake 사용). 보석이 설치 될 대상 컴퓨터에서 빌드해야 할 C 소스가 있고 그 출력을 gem의 bin 디렉토리에 저장하여 루비 코드에서 사용할 수 있도록해야합니다.내 RubyGem에 C 파일 빌드

보석 설치 중에 명령을 실행할 수있는 고리가 있습니까? Rakefile 내에서

니펫은 다음과 같다 :

task :install do 
    puts "Install" 
    `touch /tmp/install` 
end 

task :build do 
    puts "Build" 
    `touch /tmp/build` 
end 

I가 rake build 실행할 때 Build를 출력하고, I는 rake install을 실행할 때 출력 Install 하였다 Build이다. 문제가 발생하면 gem install 다음에 install 작업이 호출되지 않습니다.

답변

2

당신은 gemspec 확장이 필요합니다

http://docs.rubygems.org/read/chapter/20#extensions

은 기본적으로 당신이 보석이 설치 될 때 당신이 원하는 루비 코드를 실행할 수 있습니다.

+0

좋아요! 그러나'extconf.rb' 파일이 필요하고 그 디렉토리에'Makefile'을 만들어야하는 것처럼 보입니다. – arrac

관련 문제