3

在远离 Ruby 多年之后,我又全力以赴,刚刚完成了我的第一个 gem,其中包括一个可执行文件。一切都像魅力一样。

然而,我面临的问题是我还有一个启动脚本(不是 gem istelf 的一部分),它可以守护可执行文件。此外,我还希望启动脚本将可执行文件指向配置中的 /var/ 等位置

据我所知,rubygems、gemspec 等无法在安装期间指定文件被吹到系统的其他部分(例如,启动脚本到 /etc/init.d,配置到 /var/ )。如果你能做到这一点,那肯定是没有意义的。

所以......我的问题是......自动化安装这样的东西的正确程序是什么。我正在使用 RHEL,并且想知道是否是时候让我的脚弄湿我的第一个 RPM。

有什么想法吗?

4

1 回答 1

2

可以做到。但是,这可能不是推荐的方法。但是是的,可以使用该extensions选项在 gem 安装期间运行任意代码。

来自RubyGems 手册

Usage
  spec.extensions << 'ext/rmagic/extconf.rb'

Notes
These files will be run when the gem is installed, causing the 
C (or whatever) code to be compiled on the user’s machine.

只需将您需要的任何 ruby​​ 代码放入extconf.rb(或等效的)文件中。

从 RubyGems 指南构建 C 扩展的示例:http:
//guides.rubygems.org/c-extensions/

于 2012-05-16T19:49:06.493 回答