不能激活rspec(〜> 2),已激活rspec-3.0.0

时间:2014-07-09 06:48:19

标签: ruby-on-rails ruby-on-rails-3 testing rspec

使用rspec我在尝试运行rake时收到以下错误:

  

monkey:00_hello steventaylor $ rake

     

(在/ Users / steventaylor / Desktop / learn_ruby-master中)   耙子流产了!   Gem :: LoadError:无法激活rspec(〜> 2),已经激活了rspec-3.0.0。确保将所有依赖项添加到Gemfile。

我是ruby和rspec的新手,并知道如何解决。

我已经卸载了rspec(包括核心,期望,模拟和支持)并重新安装。

我也看过提及'rspec -include-dependencies'的类似帖子,我试过这个,这似乎也没有帮助。

也许我很累,错过了一些非常简单的东西,但我会喜欢任何建议!

提前谢谢! -Steven。

这是我的宝石清单......

enter image description here

Gems included by the bundle:

* bundler(1.6.3)   * diff-lcs(1.2.5)   *耙(10.3.2)   * rspec(3.0.0)   * rspec-core(3.0.2)   * rspec-expectations(3.0.2)   * rspec-mocks(3.0.2)   * rspec-support(3.0.2)

2 个答案:

答案 0 :(得分:0)

我通过进一步搜索发现恢复到rspec版本< 3.0.0解决了这个问题。

使用的命令:sudo gem install -v '< 3.0.0' rspec

答案 1 :(得分:0)

我试图&#34;使用更早的&#34;一个类的rspec版本。卸载并重新安装rspec不起作用。

似乎错误/消息与bundler有关。我在RVM网站上找到了这个(我使用rvm,我有一个mac /最新的操作系统) 没有必要做任何事情来使捆绑器与RVM一起工作,但是捆绑器有一件事使它更难使用。默认情况下,bundler不会为gem二进制文件生成包装器。要使用正确版本的gem二进制文件,用户必须使用bundle exec为每个命令添加前缀。这使得在控制台中工作相当痛苦。幸运的是,有一些解决方案允许我们只写二进制名称;来自&#39; gem&#39;的二进制文件将使用Gemfile中指定的。

这解决了我的问题:

要使所有可执行文件打包程序兼容,请运行:

gem regenerate_binstubs#只有一次

现在,如果你做了不止一次会发生什么......我不想找出......