【问题标题】:Error with autotest in ruby on railsruby on rails 自动测试出错
【发布时间】:2013-01-25 03:47:39
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    要使用命令autotest,您必须安装ZenTest gem。
    我想你已经在你的系统中安装了ZenTest 4.8.4。这个宝石不能正常工作。
    所以你必须把它降级到4.8.3。删除所有与ZenTest 4.8.4 相关的文件。然后使用命令安装 4.8.3

    gem install ZenTest --version "=4.8.3"

    我认为这会解决你的问题。

    干杯..!

    【讨论】:

    • 请找到已编辑的问题,看看我哪里做错了?
    • 即使在安装了特定版本(并在我的 Gemfile 中将其设置为良好措施)后,我的报告无效 .gemspec 仍导致问题。我最终遵循错误中给出的路径并删除了不正确的 gemspec 文件直接使其安静。你的地址是/Users/Arjo/.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec
    • 删除 gemspec 文件 /Users/Arjo/.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspecPeter 的有用评论
    • @ReNjITh.R - 非常感谢大家。但是我应该如何删除特定的 gemspec ?从命令行?一般来说,我对 ruby​​ on rails 非常陌生。
    • @novice7:我也是 ROR 的新手。我所做的只是删除了 gemspec 文件。您只需删除 ZenTest-4.8.4.gemspec 文件即可。
    猜你喜欢
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多