【发布时间】:2016-07-12 15:25:54
【问题描述】:
我有一个 ruby gem 文件,它是实际的 Logstash 插件,并且我还有一个 Logstash 插件 gem 需要的 gem。我如何将 gem 放入我的 Logstash,所以当我这样做时
require "gem_name"
它没有说“找不到 gem_name”?
【问题讨论】:
标签: logstash
我有一个 ruby gem 文件,它是实际的 Logstash 插件,并且我还有一个 Logstash 插件 gem 需要的 gem。我如何将 gem 放入我的 Logstash,所以当我这样做时
require "gem_name"
它没有说“找不到 gem_name”?
【问题讨论】:
标签: logstash
与往常一样,将本地 gem 作为依赖项包含在插件中。 然后,在安装插件之前,在 Logstash 中安装本地依赖项,如下所示:
/path/to/logstash/logstash-plugin install --no-verify /path/to/local/gem
然后安装你的插件
/path/to/logstash/logstash-plugin install /path/to/local/plugin
【讨论】:
在您的 gemspec(在名为 plugin-name.gemspec 的插件文件夹中)添加一行包含依赖项的行。例如。如果您的插件需要 rest-client:
s.add_runtime_dependency "rest-client", '>= 1.8.0'
您可以找到一个有效 gemspec 文件的示例,该文件具有依赖项 here。在rubygems.org 上查看您选择的插件以查找有效的版本声明。
一旦你声明了所有依赖运行bundle install,使用gem build your-plugin-name.gemspec 构建你的gem。然后安装并测试它:bin/logstash-plugin install logstash-filter-mypluginname.gem。
我强烈推荐 RVM 以避免 ruby 版本问题。您可能还想考虑坚持使用this tutorial,这样会更容易。如果您需要进一步的帮助,请告诉我。
【讨论】: