0

操作系统:Linux Debian Wheezy
Rails 版本:3.2.0

我想配置 RSpec 以使用 Rails。
我正在使用此说明:https ://github.com/rspec/rspec-rails (“安装”部分)。

当我尝试:

rails generate rspec:install

在成功执行之前手册中描述的所有内容后,
我得到:

Usage: rails new APP_PATH [options]

等等

如何解决这个问题?

恕我直言,我的 Gemfile 的相关部分

gem 'rails', '3.2.0'

group :development, :test do
        gem 'sqlite3', '1.3.5'
        gem 'rspec-rails', '~> 2.0'
end

(我是 Rails 新手,使用 M. Hartl 手册学习。)
(我已经尝试过:

  • 更改 Rails 版本(4.0.0,然后到 3.2.0);
  • 更改 rspec 版本(最初是 2.8.0,然后是 ~> 2.0);
  • 几次“捆绑更新”、“捆绑安装”和“捆绑更新 rspec-rails”;
  • 使用“gem install”安装“rspec”和“rspec-rails”;
4

1 回答 1

1

这是因为当您gem install rails在 2013 年 6 月 25 日之后安装时,它将安装 rails 4。当您学习课程时,Hartl 会要求您复制位于他的GitHub存储库中的 Gemfile,该文件实际上是指 Rails '3.2.14'。

要解决此问题,请使用 RVM 创建 gemset。

rvm gemset create sample_app

rvm gemset use sample_app

然后在一个空文件夹中创建一个 Gemfile。

mkdir sample
touch Gemfile

将 Hartl (Gemfile)[https://raw.github.com/railstutorial/sample_app_2nd_ed/master/Gemfile] 的内容复制到您刚刚创建并运行的 Gemfile,

bundle install

安装所有 gem 后,只需走出文件夹并将其删除。

cd .. && rm -rf sample

现在创建一个新的 Rails 项目并跳过自动捆绑安装。

rails new sample --skip-unit-test --skip-bundle

一旦 Rails 生成文件,进入文件夹并再次用 Hart 的 Gemfile 替换 Gemfile 内容。

现在运行bundle install

最后,您可以创建将自动切换到项目 gemset 的 RVM 文件。

rvm --create --ruby-version use ruby-2.0.0@sample-app

ruby-2.0.0指的是我系统的活动 Ruby 版本。您需要相应地替换它。

这应该可以正常工作。如果您有任何进一步的帮助,请告诉我。

干杯!

于 2013-08-23T04:56:29.373 回答