2011-09-28 3 views
0

Я постоянно получаю предупреждение амортизации при тестировании в Rails 3.1 какпо-прежнему получать предупреждение устаревания в Rails3.1

RailsProject$ bundle exec autotest 
    NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. 
    Gem.source_index called from /Users/CS/.rvm/gems/ruby-1.9.2-p290/gems/ZenTest-4.5.0/lib/autotest.rb:226. 
    NOTE: Gem::SourceIndex#gems is deprecated with no replacement. It will be removed on or after 2011-11-01. 
    Gem::SourceIndex#gems called from /Users/CS/.rvm/gems/ruby-1.9.2-p290/gems/ZenTest-4.5.0/lib/autotest.rb:226. 
    loading autotest/rails 
    /Users/CS/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -I.:lib:test -rubygems -e "%w[test/unit test/unit/rim_test.rb test/unit/page_test.rb test/functional/pages_controller_test.rb test/unit/helpers/pages_helper_test.rb test/unit/order_test.rb test/unit/admin_user_test.rb test/unit/helpers/cart_helper_test.rb test/unit/customer_test.rb test/unit/ordered_service_test.rb test/unit/services_test.rb test/functional/cart_controller_test.rb].each { |f| require f }" | unit_diff -u 
    /Users/CS/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/rubygems_ext.rb:43: warning: method redefined; discarding old gem_dir 
    /Users/CS/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1262: warning: previous definition of gem_dir was here 
    /Users/CS/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/rubygems_ext.rb:154: warning: method redefined; discarding old hash 
    /Users/CS/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:125: warning: previous definition of hash was here 
    /Users/CS/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/rubygems_integration.rb:183: warning: method redefined; discarding old initialize 
    /Users/CS/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb:53: warning: previous definition of initialize was here 

Моих версии:

RailsProject$ bundle exec rails -v 
    Rails 3.1.0 
    RailsProject$ bundle exec gem -v 
    1.8.10 
    RailsProject$ bundle exec bundle -v 
    Bundler version 1.0.18 

Я попробовал все, что gem pristine --all --no-extensions материала из this post - с и без bundle exec

Каждый драгоценный камень является современным.

У кого-нибудь есть идея, как это решить?

ответ

0

вам необходимо установить ZenTest 4.6.2. , если вы используете рельсы 3.1, вы найдете зависимость автотестов-рельсов (4.1.1) от ZenTest (= 4.5.0). просто модифицировали Gemfile.lock, поиск ZenTest, изменить его, чтобы использовать 4.6.2 и изменить

autotest (4.4.6) 
    ZenTest (= 4.5.0) 

в

autotest (4.4.6) 
    ZenTest (= 4.6.2) 

затем запустите

bundle install 

Это все ,

1

Проблема в том, что вы не используете последнюю версию ZenTest. Вы используете 4.5.0, а последнее - 4.6.2.

Попробуйте запустить

gem update ZenTest 
gem update autotest 

и вы, возможно, потребуется обновить Gemfile в приложении рельсы и запустить bundle install для блокировки Gemfile к последним версиям драгоценных камней.

+0

'bundle exec gem update ZenTest' обновил ZenTest как-то до 4.6.2, но, хотя я сделал« пакетную установку », rake все еще, кажется, использует 4.5 (предупреждения остаются). Должен ли я указывать ZenTest в моем Gemfile? – csch

+0

'$ bundle exec gem list ZenTest' производит:' *** LOCAL GEMS *** ZenTest (4.5.0) ' – csch

+0

Aah, получил причину проблемы. После указания Zentest 4.6.2 в Gemfile я получил следующее: 'autotest-rails зависит от ZenTest (= 4.5)' – csch

Смежные вопросы