Hi,
I'm trying to develop a custom output plugin for logstash (Ruby) that uses google-cloud-pubsub.
I get dependencies issues because logstash needs faraday < 0.10 and google-cloud needs > 0.11.
ERROR: Installation Aborted, message: Bundler could not find compatible versions for gem "faraday":
In snapshot (Gemfile.lock):
faraday (= 0.9.2)
In Gemfile:
octokit (= 3.8.0) java depends on
sawyer (>= 0.5.3, ~> 0.6.0) java depends on
faraday (< 0.10, ~> 0.8) java
logstash-input-twitter (>= 0) java depends on
twitter (= 5.15.0) java depends on
faraday (~> 0.9.0) java
logstash-core (>= 0) java depends on
elasticsearch (>= 5.0.4, ~> 5.0) java depends on
elasticsearch-transport (= 5.0.4) java depends on
faraday (>= 0) java
logstash-output-pubsub (= 0.2.0) java depends on
google-cloud-pubsub (< 0.28.1, ~> 0.27.0) java depends on
google-cloud-core (~> 1.0) java depends on
google-cloud-env (~> 1.0) java depends on
faraday (~> 0.11) java
So I ended up using old gcloud gem:
https://rubygems.org/gems/gcloud/versions/0.6.3
that didn't have conflicts issues, and actually works
I would really prefer to use more up to date pubsub version, but because of the dependencies conflicts I'm stuck with 0.6.3 version.
Any thoughts how to workaround this?
Thanks,
Nir
In the output above, it looks to me like octokit is declaring the < 0.10 requirement for faraday, not logstash. Is this correct?
yes, but octokit is part of the Gemfile in logstash.
gem "octokit", "3.8.0", :group => :build
I'm not sure what is the role of octokit in logstash and if it can be removed / upgraded.
@NirKamara I believe you posted this question Custom plugin - octokit / sawyer / faraday versions on the Elastic forum? Hopefully they will be able to address the issue by removing the pin on Faraday < 0.10 or removing octokit.
Meanwhile, I'm not sure why google-cloud-env sets the Faraday dependency to ~> 0.11, but I don't think that it matters, since the latest googleauth version (0.6.0) sets the dependency to ~> 0.12. Making a move backward to allow earlier Faraday versions just doesn't look likely to me. Similarly, removing Faraday from google-cloud-env and googleauth (and signet) really doesn't seem likely.
If this response answers your question, can you close this issue?
Yes, thank you @quartzmo.
Hopefully I will get feedback on elastic forum...