一般来说,您不想在您的应用程序中包含“第三方可执行文件”;理想情况下,如果它们是 RubyGems,您可以在 gemspec 中依赖它们。
话虽如此,假设您有充分的理由这样做,您可以通过以下方式确保它们分布在您的 RubyGem 中:
- 将它们放入
bin
- 确保它们包含在
files
gemspec 的属性中
- 确保它们包含在
executables
gemspec 的属性中
- 确保
bindir
已设置。
所以,如果你有 / /bin /bin/your_app /bin/other_app /bin/other_app2 /lib/your_app.rb
您的 gemspec 将需要如下所示:
spec = Gem::Specification.new do |s|
s.name = 'your_app'
s.version = '1.2.3'
s.author = 'Your'
s.email = 'your@email.com'
s.platform = Gem::Platform::RUBY
s.summary = 'Your app summary'
s.description = 'Your app description`
s.files = [
'bin/your_app',
'bin/other_app',
'bin/other_app2',
'lib/your_app.rb',
]
s.executables = ["your_app","other_app","other_app2"]
s.require_paths = ["lib"]
s.bindir = 'bin'
end
当用户通过 RubyGems 安装您的应用程序时,三个可执行文件将位于其路径中。