【问题标题】:can't activate rspec (~> 2), already activated rspec-3.0.0无法激活 rspec (~> 2),已经激活 rspec-3.0.0
【发布时间】:2014-08-30 02:03:30
【问题描述】:

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

猴子: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”的类似帖子,我试过这个,这似乎也没有帮助。

也许我累了,错过了一些非常简单的东西,但我希望有任何建议!

提前致谢! -史蒂文。

这是我的宝石清单...

Gems included by the bundle:

* 捆绑器 (1.6.3) * diff-lcs (1.2.5) * 耙子 (10.3.2) * rspec (3.0.0) * rspec 核心 (3.0.2) * rspec-expectations (3.0.2) * rspec 模拟 (3.0.2) * rspec 支持 (3.0.2)

【问题讨论】:

  • 使用bundle exec 运行rake/rails/rspec 命令。所以在你的情况下你应该运行bundle exec rake
  • 我支持@gotva 的回复。大多数情况下,当您的系统 rake 与本地 gem 包中的版本不同时,就会出现这种消息
  • 谢谢,我尝试了“bundle exec rake”,但收到了同样的错误。
  • 发布您的bundle list。也发布你的spec_helper.rb(如果你有rails_helper.rb
  • 您有 Rails 应用程序吗?或者它只是一个红宝石应用程序?如果是 Rails 应用程序,那么我认为您应该从 guides 开始。您的问题在于错过了Gemfile,但如果您生成一个新应用程序 (rails new my_app),Gemfile 会自动生成。所以我无法理解你如何在没有 Gemfile 的情况下生成新应用。

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


【解决方案1】:

我通过进一步搜索发现,恢复到 rspec 版本

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

【讨论】:

    【解决方案2】:

    我在尝试为课程“使用较早的”rspec 版本时遇到了这个问题。卸载并重新安装 rspec 不起作用。

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

    这解决了我的问题:

    使所有可执行文件捆绑器兼容运行:

    gem regenerate_binstubs # 仅一次

    现在,如果你不止一次会发生什么...我不想知道...

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多