如何在自定义Logstash插件中添加本地gem依赖?

a64a0gku  于 2023-08-01  发布在  Logstash
关注(0)|答案(3)|浏览(284)

我有一个ruby gem文件,这是实际的Logstash插件,我还有另一个gem,Logstash插件gem需要。我如何将宝石放入我的Logstash中,所以当我这样做时

require "gem_name"

字符串
它没有说“找不到gem_name”?

stszievb

stszievb1#

这对我很有效:

path/to/logstash/logstash-plugin install --no-verify --local localxxx.gem

字符串
确保gem文件(localxxx.gem)位于logstash目录中。

nwlls2ji

nwlls2ji2#

和往常一样,在插件中包含本地gem作为依赖项。然后,在安装插件之前,在Logstash中安装本地依赖,如下所示:

/path/to/logstash/logstash-plugin install --no-verify /path/to/local/gem

字符串
然后安装你的插件

/path/to/logstash/logstash-plugin install /path/to/local/plugin

vaqhlq81

vaqhlq813#

在您的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版本问题。您可能还想考虑坚持使用this tutorial,这会使它变得容易得多。如果你需要进一步的帮助,请告诉我。

相关问题