【问题标题】:ruby gemfile rest-client version conflictruby gemfile rest-client 版本冲突
【发布时间】:2017-08-29 04:14:13
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    很遗憾,您一次只能激活一个 gem 版本。所以当有这样的版本依赖冲突时,你必须选择一个。

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

    在这种情况下,您最好的选择可能是创建一个分支,将依赖项更改为~> 2.0 并发出拉取请求。在最好的情况下,维护人员会快速合并您的拉取请求。

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

    【讨论】:

      【解决方案2】:

      运行

      bundle update rest-client
      

      然后 bundle install 一旦 rest-client 更新。

      【讨论】:

      • 然后我遇到了问题:docverter被解析为1.0.1,这取决于rest-client(~> 1.7)
      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 2012-07-24
      相关资源
      最近更新 更多