ruby gemfile rest-client版本冲突

时间:2017-08-29 04:14:14

标签: ruby-on-rails ruby rest-client gemfile

我的意思是,鼓励用户升级到rest-client 2.0,我需要升级一些邮件api只支持2.0版本,但现在我遇到了这个问题。
当我在我的Gemfile中将rest-client版本更改为2.0.2时,我遇到了这个问题 Bundler找不到gem“rest-client”的兼容版本: 似乎rest-client 2.0版本与docverter冲突,后者依赖于rest-client(〜> 1.6.7)
那我该怎么做才能解决?我需要rest-client版本高于2.0。

这是我的Gemfile:

source 'https://rubygems.org'
ruby '2.4.1'

gem 'rails'

# Forms
gem 'wicked'
gem 'localstorageshim-rails'
gem 'simple_form'

# Monitoring
gem 'newrelic_rpm'
gem 'slack-notifier'
gem 'puma_worker_killer'

# Assets
gem 'sass-rails'
gem 'haml-rails'
gem 'uglifier'
gem 'autoprefixer-rails'

# Design
gem 'bootstrap-sass'
gem 'font-awesome-sass'
gem 'nprogress-rails'
gem 'normalize-rails'

# Markdown
gem 'marked-rails'
gem 'rdiscount'

# Javascript
gem 'react-rails'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'

# Authentication
gem 'devise'
gem 'pundit'

# Data
gem 'pg'

# Payments
gem 'stripe'
gem 'braintree'

# Crypto
gem 'hashids'

# Images
gem 'lazyload-rails'

# Files
gem 'rest-client', '>= 2.0'
gem 'docverter'

# Utils
gem 'annotate'
gem 'jbuilder'
gem 'sdoc',          group: :doc

group :development do
  gem 'spring'
  gem 'spring-commands-rspec'

  gem 'better_errors'
  gem 'binding_of_caller', :platforms=>[:mri_21]
  gem 'html2haml'
  gem 'hub', :require=>nil
  gem 'quiet_assets'
  gem 'rails_layout'
end

group :development, :test do
  gem 'factory_girl_rails'
  gem 'faker'
  gem 'rspec-rails'
end

group :production do
  gem 'rails_12factor'
  gem 'puma'
  gem 'heroku_rails_deflate'
  gem 'rack-timeout'
end

group :test do
  gem 'capybara'
  gem 'database_cleaner'
  gem 'launchy'
  gem 'selenium-webdriver'
end

2 个答案:

答案 0 :(得分:1)

不幸的是,您一次只能激活一个版本的gem。因此,当存在这样的版本依赖性冲突时,您必须选择一个。

最新的Docverter代码需要rest-client 1.x: https://github.com/Docverter/docverter-ruby/blob/5775e5a8bc00610d3168141cc44a83b4af41717a/docverter.gemspec#L20

在这种情况下,最好的办法是将fork更改为bind并发出拉取请求。在最好的情况下,维护人员会快速合并您的拉取请求。

在最坏的情况下,您可以通过在Gemfile中指定git URL来使用分叉版本。 http://bundler.io/v1.15/guides/git.html

答案 1 :(得分:-1)

运行

bundle update rest-client
一旦rest-client更新,

然后bundle install