【问题标题】:The "rake" command gets the error "no such file to load -- rspec/core/rake_task"“rake”命令收到错误“没有要加载的文件--rspec/core/rake_task”
【发布时间】:2013-09-04 21:16:57
【问题描述】:

我正在使用 Ubuntu 版本 12.04.02、Ruby 1.8.7、Gems 1.8.15,尝试做 TestFirst.org 的 Learn Ruby (http://testfirst.org/learn_ruby)。

我存储课程所有文件的文件夹位于我计算机上的 /home/topher/ruby/learn_ruby-master 中。

我已按照说明进入较大文件夹中标记为 00_hello 的文件夹,并在 00_hello 文件夹中创建一个名为“hello.rb”的空文本文档。然后我进入终端,导航到 ~/ruby/learn_ruby-master/00_hello 并输入:

耙子

首先我收到此错误消息:

(在 /home/topher/ruby/learn_ruby-master 中) 耙中止! main:Object 的未定义方法“gem”

(通过使用 --trace 运行任务查看完整跟踪)

我做了一些搜索,在 Stack Overflow 上找到了一个帖子,其中有人建议删除 rake 文件中的行:

gem 'rspec', '~2'

我这样做了(或者更确切地说,为了安全起见,将其注释掉)并在运行“rake”时收到了不同的错误消息:

(在 /home/topher/ruby/learn_ruby-master 中) 耙中止! 没有要加载的文件 -- rspec/core/rake_task

(通过使用 --trace 运行任务查看完整跟踪)

我该如何解决这个问题?

【问题讨论】:

  • 我假设你安装了 rspec gem?
  • 哦,是的。 Rspec v 2.14.5。对我来说,它似乎告诉我大部分 rspec 都在那里,但其中缺少一个文件或文件夹。
  • 你是如何安装 ruby​​ 的,也许它缺少 ruby​​gems?
  • 如果我没记错的话,1.8.7 默认情况下不附带 ruby​​gems。这在 1.9 倍中发生了变化

标签: ruby rubygems


【解决方案1】:

该学习项目需要bundler。你知道这是因为在项目的根路径下有一个名为Gemfile的文件

所以为了继续,首先安装 bundler 然后运行bundle install 然后rake

$ gem install bundler rubygems-bundler --no-rdoc --no-ri
$ bundle install
$ rake

更喜欢较新的 Ruby 版本,例如 2.0.0,而不是 1.8.7。您可以使用rvm 为您完成所有设置。作为奖励,您不需要安装 bunder 或 ruby​​gems,因为它们是从 ruby​​ 1.9 开始包含的

$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
$ rvm requirements
$ rvm install 2.0.0
$ rvm use --default 2.0.0

【讨论】:

    猜你喜欢
    • 2011-07-25
    • 2015-07-18
    • 1970-01-01
    • 2015-01-27
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多