我的意思是,鼓励用户升级到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
答案 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
。