我有一个 ruby gem 文件,它是实际的 Logstash 插件,我有另一个 Logstash 插件 gem 需要的 gem。我如何将宝石放入我的 Logstash 中,所以当我这样做时
require "gem_name"
它不是说"找不到gem_name"吗?
这对我有用:
path/to/logstash/logstash-plugin install --no-verify --local localxxx.gem
确保您的 gem 文件 (localxxx.gem) 位于 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 文件的示例。在 rubygems.org 上查看您选择的插件以查找有效的版本声明。
声明所有依赖项后,运行bundle install
,使用 gem build your-plugin-name.gemspec
构建 gem。然后安装并测试它:bin/logstash-plugin install logstash-filter-mypluginname.gem
.
我强烈建议使用 RVM 来避免 ruby 版本问题。您可能还需要考虑坚持使用本教程,使其变得容易得多。如果您需要进一步的帮助,请告诉我。