ruby-on-rails - ruby on rails 中的自动测试错误

标签 ruby-on-rails ruby-on-rails-3 rubygems railstutorial.org autotest

我运行了命令 autotest,这是我得到的错误。我正在关注 Hartl 的书,并想知道发生这种冲突是因为 Rails 现在附带 ZenTest 或其他什么东西?我怎样才能克服这个错误。我是 RoR 的新手

Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
/Users//.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find ZenTest (>= 0) amongst [abstract-1.0.0, actionmailer-3.2.8, actionmailer-3.2.8.rc1, actionmailer-3.0.1, actionmailer-3.0.0, actionpack-3.2.8, actionpack-3.2.8.rc1, actionpack-3.0.1, actionpack-3.0.0, activemodel-3.2.8, activemodel-3.2.8.rc1, activemodel-3.0.1, activemodel-3.0.0, activerecord-3.2.8, activerecord-3.2.8.rc1, activerecord-3.0.1, activerecord-3.0.0, activeresource-3.2.8, activeresource-3.2.8.rc1, activeresource-3.0.1, activeresource-3.0.0, activesupport-3.2.8, activesupport-3.2.8.rc1, activesupport-3.0.1, activesupport-3.0.0, addressable-2.3.2, arel-3.0.2, arel-1.0.1, autotest-4.4.6, builder-3.0.4, builder-3.0.3, builder-2.1.2, bundler-1.2.1, bundler-1.2.0, bundler-1.0.22, coffee-rails-3.2.2, coffee-script-2.2.0, coffee-script-source-1.4.0, coffee-script-source-1.3.3, diff-lcs-1.1.3, erubis-2.7.0, erubis-2.6.6, excon-0.16.2, execjs-1.4.0, heroku-2.31.2, heroku-api-0.3.5, hike-1.2.1, i18n-0.6.1, i18n-0.4.2, journey-1.0.4, jquery-rails-2.1.4, jquery-rails-2.1.2, json-1.7.5, launchy-2.1.2, mail-2.4.4, mail-2.2.19, mime-types-1.19, multi_json-1.4.0, multi_json-1.3.6, netrc-0.7.7, polyglot-0.3.3, rack-1.4.1, rack-1.2.5, rack-cache-1.2, rack-mount-0.6.14, rack-ssl-1.3.2, rack-test-0.6.2, rack-test-0.6.1, rack-test-0.5.7, rails-3.2.8, rails-3.2.8.rc1, rails-3.0.1, railties-3.2.8, railties-3.2.8.rc1, railties-3.0.1, railties-3.0.0, rake-10.0.2, rake-0.9.2.2, rdoc-3.12, rest-client-1.6.7, rspec-2.12.0, rspec-core-2.12.1, rspec-expectations-2.12.0, rspec-mocks-2.12.0, rspec-rails-2.12.0, rubygems-bundler-1.1.0, rubyzip-0.9.9, rvm-1.11.3.5, sass-3.2.3, sass-3.2.1, sass-rails-3.2.5, sequel-3.20.0, sinatra-1.0, spork-0.9.2, spork-0.9.0, sprockets-2.1.3, sqlite3-1.3.6, taps-0.3.24, thor-0.16.0, thor-0.14.6, tilt-1.3.3, treetop-1.4.12, treetop-1.4.10, tzinfo-0.3.35, tzinfo-0.3.33, uglifier-1.3.0] (Gem::LoadError)
from /Users//.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /Users//.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
from /Users//.rvm/gems/ruby-1.9.2-p320@twitclone/bin/autotest:18:in `<main>'
from /Users//.rvm/gems/ruby-1.9.2-p320@twitclone/bin/ruby_noexec_wrapper:14:in `eval'
from /Users//.rvm/gems/ruby-1.9.2-p320@twitclone/bin/ruby_noexec_wrapper:14:in `<main>'

所以在回答建议之后,我尝试先卸载 Zentest
-MacBook-Pro:proto1 $ gem uninstall ZenTest-4.8.4
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
INFO:  gem "ZenTest-4.8.4" is not installed

在此之后(尽管有错误消息,我还是安装了降级版本)
s-MacBook-Pro:proto1 $ gem install ZenTest --version "=4.8.3"
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Fetching: ZenTest-4.8.3.gem (100%)
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Successfully installed ZenTest-4.8.3
1 gem installed
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Installing ri documentation for ZenTest-4.8.3...
Installing RDoc documentation for ZenTest-4.8.3...

然后我运行自动测试,出现这个!
s-MacBook-Pro:proto1 $ autotest
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
loading autotest/rspec2

问题的新部分:

在我被建议删除 ZenTest gemspec 文件后,我无法运行 spork 或 rails 服务器。我已经安装了 ZenTest 4.8.3,但它显示以下内容:
$ spork
Using RSpec
Preloading Rails environment
Could not find ZenTest-4.8.4 in any of the sources
Run `bundle install` to install missing gems.

最佳答案

使用命令 autotest您必须安装 ZenTest gem 。
我想你已经安装了 ZenTest 4.8.4在你的系统中。这个 gem 不能正常工作。
所以你必须把它降级到 4.8.3 .删除所有与 ZenTest 4.8.4 相关的文件.然后安装 4.8.3 使用命令
gem install ZenTest --version "=4.8.3"
我认为这会解决你的问题。

干杯..!

关于ruby-on-rails - ruby on rails 中的自动测试错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14515019/

相关文章:

ruby-on-rails - 如何让 Rails 为 PDFKit 呈现特定于 PDF 的 HTML?

postgresql - gem install pg --with-pg-config 有效, bundle 失败

Ruby LDAP 在 Rails 应用程序中不起作用,但在控制台中工作正常

ruby-on-rails - Shrine gem - 如何防止从 S3 删除上传的文件

ruby-on-rails - Rspec 期望 link_to 没有找到任何东西

ruby-on-rails - Rails Ancestry gem : how to write scope to match all parents

javascript - 如何通过 jquery/javascript 将切换发布到 Rails

ruby-on-rails - 如何使用 Heroku 的调度程序发送每日报告

ruby-on-rails - 使用 Google 的 Audit API 监控 google 应用程序电子邮件

ruby-on-rails - 无论我推送什么到heroku应用程序(Ruby on Rails),内部服务器错误