2014-01-15 2 views
1

fuubar gem을 내 Gemfile에 추가하려고하지만 베타 버전 rspec-rails을 사용하고 있으며 Bundler가 둘 다 호환되는 종속성을 찾을 수 없습니다.Bundler가 해결 의존성으로 인식하지 못하는 베타 버전

# Gemfile 
gem 'rspec-rails', '~> 3.0.0.beta1' 
gem 'fuubar', '>= 1.3.2' 

Fuubar는 rspec < 3.1.0, >= 2.14.0에 의존합니다. what I understand에서 3.0.0.beta1은 해당 요구 사항과 일치해야합니다. 내가 얻을 오류는 다음과 같습니다 :

Bundler could not find compatible versions for gem "rspec-mocks": 
    In Gemfile: 
    rspec (< 3.1.0, >= 2.14.0) x86-mingw32 depends on 
     rspec-mocks (~> 2.14.0) x86-mingw32 

    rspec-rails (~> 3.0.0.beta1) ruby depends on 
     rspec-mocks (3.0.0.beta1) 

x86-mingw32은 여기에 열쇠입니까? 해당 플랫폼에서 사용할 수있는 베타 버전이 없거나 ..?

+0

'3.0.0.beta1'는'<3.1.0'을 만족하지만'rspec-mocks'에 문제가 있습니다. 'rspec-rails'를'~> 3.0.0.beta1'로 정의하는 이유는 무엇입니까? 어쩌면 테스트 용 업데이트 젬을 사용해보십시오. – gotva

+0

베타 버전에는 사용하고 싶은 기능이 있습니다. 특정 보석은이 질문에 중요하지 않습니다. Bundler가 이와 같은 의존성 문제를 해결하는 방법과 'rspec 3.0.0.beta1'이 요구 사항을 충족시키는 것을 인식하지 못하는 이유에 관심이 있습니다. (https : /rubygems.org/gems/rspec/versions/3.0.0.beta1). – lime

답변

0

글쎄, 나는 보석을 설치할 수 있었다. 명시 적으로 gem 'rspec', '~> 3.0.0.beta1'을 내 Gemfile에 추가하면 Bundler가 모든 것을 행복하게 설치합니다. 아마도 Bundler는 특별히 요구하지 않는 한 시험판 버전을 피할 수 있습니다.

종속성 트리가 Gemfile.lock에 저장되므로 내 Gemfile에서 위의 행을 제거 할 수도 있으며 이후 bundle install이 성공합니다. bundle update에 대한 확신이 없지만 항상 보석을 하나씩 업데이트합니다.

그러나 이것은 의 질문에 대답하지 않습니다. 이유는입니다. 누군가가 그것을 설명 할 수 있거나 이것을 의도 된 작업 방법으로 보여주는 문서를 가리키면, 나는 그 대답을 쉽게 받아 들일 수 있습니다.

관련 문제