我运行了命令 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/