- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有 ruby 2.0 和 rspec 3.0。我卸载了所有 rspec 3.0 gem 并用 2.0 替换了它们。我这样做是为了摆脱弃用警告。现在,我的规范不起作用。我收到以下错误。错误告诉我什么,我该如何解决?关于此的堆栈溢出帖子都没有帮助。
/zombie/spec/spec_helper.rb:29:in `block (2 levels) in <top (required)>': undefined method `include_chain_clauses_in_custom_matcher_descriptions=' for #<RSpec::Matchers::Configuration:0x00000001a73928> (NoMethodError)
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:398:in `expect_with'
from /home/lsusr/Code/Rspec/zombie/spec/spec_helper.rb:21:in `block in <top (required)>'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core.rb:92:in `configure'
from /home/lsusr/Code/Rspec/zombie/spec/spec_helper.rb:17:in `<top (required)>'
from /home/lsusr/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/lsusr/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:434:in `block in requires='
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:434:in `map'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:434:in `requires='
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:20:in `block in configure'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:19:in `each'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb:19:in `configure'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:21:in `run'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run'
from /home/lsusr/.rvm/gems/ruby-2.0.0-p598/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `block in autorun'
好的,我找到了解决方法。
我只是使用
删除了所有不必要的 gemfor i in `gem list --no-versions`; do gem uninstall -aIx $i; done
然后,我使用 gem install rspec
重新安装了 rspec,这给了我 rspec 3.0 并修复了所有问题。但是,我再次收到弃用警告。
请告诉我错误发生的原因。教程作者说它应该适用于 rspec 2.10.0 或更高版本。
最佳答案
The tutorial author said that it should work with rspec 2.10.0 or higher.
作者的意思可能是 2.10 或更高版本,在 2.x 范围内。 RSpec 3.x 有重大变化。
像以前一样尝试卸载 gem,然后:
gem install rspec '>=2.10', '<3'
然后运行你的代码。
使用 RSpec 3 时出现的弃用警告还不错;他们正在指导您,您正在调用的 RSpec 方法将被淘汰。在移动整个版本号时,这些类型的警告是典型且正常的,例如2.x 到 3.x。
你在使用 RSpec 2.0 时遇到的错误是因为那是一个非常旧的版本,你调用的方法在 2.0 中不存在。这大概就是教程作者说要用2.10或者更高版本的原因吧。
教程很可能已过时,因此最好的解决方案是写信给教程作者,让他/她知道要更新它。
如果您对 RSpec 如何计算其版本号感到好奇,这里有一个链接 Semantic Versioning .
关于ruby - 无法再运行 rspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27738657/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!