문제

오이와 RSPEC를 사용하는 Rails 앱이 있습니다. 우리는 보석을 공급 업체/보석 아래에 저장하고 CI 서버에서 앱 빌딩 (실행 중)을 얻으려고 노력하고 있습니다.

테스트를 실행하려고하면 다음 오류가 발생합니다.

Missing these required gems:
  cucumber  >= 0.3.11
  rspec-rails  >= 1.2.6

내가 달릴 때 RAILS_ENV=test rake gems 나는 다음을 얻는다 :

 - [F] activerecord-oracle-adapter
    - [R] activerecord >= 1.15.5.7843
 - [F] thoughtbot-factory_girl = 1.2.0
 - [F] cucumber >= 0.3.11
    - [ ] term-ansicolor >= 1.0.3
    - [ ] treetop >= 1.2.6
    - [ ] diff-lcs >= 1.1.2
    - [I] builder >= 2.1.2
 - [F] webrat >= 0.4.4
    - [I] nokogiri >= 1.2.0
 - [F] rspec >= 1.2.6
 - [F] rspec-rails >= 1.2.6
    - [F] rspec >= 1.2.7
    - [ ] rack >= 0.4.0
 - [F] thoughtbot-shoulda >= 2.10.2

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

빈 빈 []의 보석이 보석이 빠졌다는 것을 의미합니까?

구성/환경/test.rb는 다음을 포함합니다.

config.gem "cucumber",           :lib => false,          :version => ">=0.3.11" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
config.gem "webrat",             :lib => false,          :version => ">=0.4.4"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/webrat'))
config.gem "rspec",              :lib => false,          :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec'))
config.gem "rspec-rails",        :lib => "spec/rails",   :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
config.gem "thoughtbot-shoulda", :lib => false,          :version => ">=2.10.2" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/shoulda'))

따라서 모든 것이 순서대로 보이지만 여전히 실행을 거부합니다.

내가 분명한 것을 놓치고 있습니까?

도움이 되었습니까?

해결책

당신이 가진 것 같습니다 cucumber, rspec, 그리고 rspec-rails 당신의 냉동 (포장되지 않은) vendor/gems 디렉토리이지만 의존성이 누락되었습니다 cucumber 그리고 rspec-rails. 질문에 대한 의견이 말했듯이 [] 누락되었음을 나타냅니다.

나는 다시 시작할 것이다 :

rm -rf vendor/gems/cucumber
rm -rf vendor/gems/rspec-rails
rm -rf vendor/gems/rspec

그런 다음 보석을 로컬로 설치하십시오.

gem install rspec rspec-rails cucumber

이 시점에서 앱을 성공적으로 테스트 할 수 있어야합니다.

마지막으로 포장을 풀어주십시오 vendor/gems 원하는 경우 :

RAILS_ENV=test rake gems:unpack:dependencies GEM=rspec-rails
RAILS_ENV=test rake gems:unpack:dependencies GEM=cucumber

또는 대안으로 :

RAILS_ENV=test rake gems:unpack:dependencies

테스트 환경을위한 모든 것을 풀려고합니다 vendor/gems. 이것은 포장을 풀 것입니다 nokogiri 보석은 현재 로컬로 설치했지만 앱에 동결되지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top