2012-07-24 2 views
4

이것은 이상한 것입니다. 테스트를 수행하기 위해 레이크를 실행할 때이 오류가 발생하지만 마이그레이션 할 때는 그렇지 않습니다. RVM을 실행 중이므로 아래 셸 덤프는 필요한 정보를 제공해야합니다.소스 중 하나에서 rake-0.9.2.2를 찾을 수 없습니다.

도움을 주시면 감사하겠습니다. 나는이 문제를 가진 다른 몇몇 사람들을 보았지만 아직 나를 위해 일한 해결책은 없다.

감사합니다.

$ rake 
Could not find rake-0.9.2.2 in any of the sources 
Run `bundle install` to install missing gems. 
Could not find rake-0.9.2.2 in any of the sources 
Run `bundle install` to install missing gems. 
Errors running test:units, test:functionals, test:integration! 



$ ruby -v 
    ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0] 
    $ rails -v 
    Rails 3.1.6 

$ more .rvmrc 
rvm [email protected] 
$ rake db:rollback 
== AddAllLocationsToAlert: reverting ========================================= 
-- remove_column(... 
    -> 0.0320s 
== AddAllLocationsToAlert: reverted (0.0321s) ================================ 

------- 편집 ::::

내가 있기 때문에 최신 레일로 업그레이드 한 - 3.2.6. 'bundle exec'를 사용하더라도 오류가 계속 발생합니다. (3.2.6에서는 새로운 것이 아닙니다. 3.1에서 여전히 문제가 발생했습니다.) 정의되지 않은 메소드는 새로운 것입니다.

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 
$ bundle exec rake 
Could not find rake-0.9.2.2 in any of the sources 
Run `bundle install` to install missing gems. 
Could not find rake-0.9.2.2 in any of the sources 
Run `bundle install` to install missing gems. 
Errors running test:units! #<NoMethodError: undefined method `[]' for nil:NilClass> 
Errors running test:functionals! #<RuntimeError: Command failed with status (7): [/Users/ben/.rvm/rubies/ruby-1.9.3-p194/bin...]> 
Errors running test:integration! #<RuntimeError: Command failed with status (7): [/Users/ben/.rvm/rubies/ruby-1.9.3-p194/bin...]> 

내 Gemfile이 같은 요청 : 당신은 들러를 사용하고 (그리고 레일, 당신은 아마 할) 경우

source 'http://rubygems.org' 

gem 'rails', '3.2.6' 

group :assets do 
    gem 'sass-rails', " ~> 3.2.5" 
    gem 'coffee-rails', "~> 3.2.1" 
    gem 'uglifier', '>= 1.2.6' 
end 

gem 'jquery-rails' 

gem 'rake' 
gem "mysql2" 

gem "squeel" 
gem 'tinymce-rails' 
gem 'dynamic_form' 

gem 'will_paginate' 
gem 'devise' 
gem 'whitelist' 
gem 'rmagick' 
gem 'json' 
gem 'paperclip' 
gem 'acts_as_list', :git => 'https://github.com/swanandp/acts_as_list' 
gem 'htmlentities' 
gem 'formtastic' 
# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
# group :development, :test do 
# gem 'webrat' 
# end 
+1

레이크 실행? – bender

+0

당신의 Gemfile의'test' 그룹에있는 보석들은 아마도'rake'의 다른 버전에 의존합니다. –

+0

벤더 : Nope. : Michal : Gemfile에 테스트 그룹이 없습니다. 이전 프로젝트를 기반으로합니다. 레일 1에서 3.0, 3.1에서 끌어 올려졌습니다. 그리고 지금은 3.2이므로 전 기능 세트를 사용하지는 않습니다. 그러나 오래된 보석들이 거기에 매달려 있습니다. 하나는 약간의 레이크 문제를 일으킬 수 있습니다. 이상하게 테스트하고 있습니다. 멀리 옮겨야 만하는 이유 –

답변

0

, 항상이 같은 갈퀴를 실행

bundle exec rake

이것은 Gemfile에 지정된 보석들을 집어 올릴 것입니다.

+0

그건 다른 유사한 스레드에서 제공되는 잠재적 인 솔루션 중 하나였다. 불행하게도.L :( –

+0

이 제안이 실패했다는 것을 반영하기 위해 초기 게시물이 업데이트되었습니다. (그렇기 때문에 귀찮게 의견, 독자) –

+0

그건 그렇고, 난 항상이 기능에 혼란 스러웠습니다. 정말 자극적이에요 ... 과거에는 필자가 원하지 않는 보석 버전을 제거함으로써, 지금은 단지 하나의 버전만을 요구한다. - 코드의 어딘가에서 의존성이 충족되지 않고 오류 메시지가 혼동 스럽다고 가정 할 수있다. 현재의 보석 버전을 요구 한 것보다는 되 돌리는 것 ... 그러나 여기에 더 깊이 파고 들어갈 방법은 모른다. –

3

보석 '레이크', "> = 0.9.2"# 당신의 Gemfile

에서 다음

$ 번들

$ 번들 간부 레이크

경우

설치 위 작업하지 않음 :

$ rvm all do gem rake -v 0.9.2 설치 0.2 # 모든 루비 버전 레이크을 설치

후 작동하지 않습니다 '레이크를 설치 보석'다시

+0

도움이되는 작은 rmv 명령 인 @Ahmed입니다. 고마워. – harperville

+0

도움이 되니 기쁩니다 !!! –

관련 문제