微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 在rails上的ruby中使用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"]
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"]
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"]
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.这个宝石不能正常工作.
所以你必须将它降级到4.8.3.删除与ZenTest 4.8.4相关的所有文件.然后使用该命令安装4.8.3

gem install ZenTest –version“= 4.8.3”

我想这会解决你的问题.

干杯..!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐