为什么bundler无法解决与预发布版本的依赖关系?

时间:2016-03-09 23:46:39

标签: ruby version bundler versioning beta

这样:

CccAaxC{d@u}BkbA{gG}n@}tBwSy_BgUeeDgSexAcb@maAof@_nBaH}mCuB}kB{TayAUkiE_HabBjJi~B}Ky|@iy@w~BuxC_hD}_AooDwn@m}Ds

不起作用:

source 'https://rubygems.org'
gem 'rspec-rails', '~> 3.5.0.beta'
gem 'json_spec'

这样:

Bundler could not find compatible versions for gem "rspec-core":
  In Gemfile:
    json_spec was resolved to 0.1.0, which depends on
      rspec (~> 2.0) was resolved to 2.0.0, which depends on
        rspec-core (= 2.0.0)

    rspec-rails (~> 3.5.0.beta) was resolved to 3.5.0.beta1, which depends on
      rspec-core (= 3.5.0.beta1)

有效。为什么这样?

1 个答案:

答案 0 :(得分:0)

以下是related issues

  
    

这是故意的。 Rubygems明确排除了预发布,除非版本要求中包含字母数字。因此,如上所述,您的版本要求实际上是冲突的。如果您想要预发布,请使用'> = 2.2a'。

  
     

我看到预发布版本是如何复杂的,我要说的可能会导致问题,但我所期望的“> = 2.2”意味着a)“任何已发布的2.2或更高版本”和b)“不要在我的帐户上获得一个预发行版本,但如果其他宝石想要一个我愿意,只要它超过2.2“。它似乎只意味着(a)。

     

当依赖项不在我的Gemfile中但在我使用的gem中时,问题变得更加困难,我无法将版本更改为“> = 2.2a”。