在我的RubyGem中构建C文件

时间:2010-12-15 08:07:06

标签: ruby rake gem rakefile

我正在尝试将我的ruby应用程序打包为RubyGem(使用Jeweler和Rake)。我需要在要安装gem的目标机器上构建一些C源代码,然后将输出放在gem的bin目录中,以便我的ruby代码可以使用它。

在gem安装过程中是否有可以执行命令的钩子?

我的Rakefile的片段如下所示:

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

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

当我执行rake build时,它会输出Build,当我执行rake install时,输出为Build,然后是Install。当我执行gem install然后install任务未被调用时,问题就出现了。

1 个答案:

答案 0 :(得分:2)

您需要gemspec扩展程序:

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

基本上,你可以在安装gem时运行你喜欢的任何ruby代码。