Я начинаю с RoR и начал изучать его с помощью RoR-Tutorial. На самом деле я нахожусь в этой главе (http://ruby.railstutorial.org/chapters/static -pages # top) и попробуйте установить rspec. Но каждый раз, когда я пытаюсь использовать "rails g rspec: install", я получаю следующее сообщение об ошибке:

C:\Sites\rails\rails_projects\sample_appp>rails g rspec:install
C:/Sites/rails/rails_projects/sample_appp/config/application.rb:8:in `require':
no such file to load -- sprockets/railtie (LoadError)
        from C:/Sites/rails/rails_projects/sample_appp/config/application.rb:8:i
n `<top (required)>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.0.9
/lib/rails/commands.rb:15:in `require'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.0.9
/lib/rails/commands.rb:15:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

Есть ли у кого-нибудь идея мне помочь? Я уже пытался прокомментировать это в application.rb или явно упомянуть в гемфайле. Но я все равно получаю это сообщение об ошибке.

Было бы здорово, если бы кто-нибудь мог мне помочь. Кстати. моя ОС - Windows XP, и я использую Ruby версии 1.9.2.p290 и Rails версии 3.1.0.rc6.

7
Anna.Garance 25 Авг 2011 в 18:59

3 ответа

Лучший ответ

Вот что я сделал:

Gemfile на сайте, по-видимому, немного неправильный, я использую это:

source 'http://rubygems.org'

gem "rails", "~> 3.1.0"
gem 'sqlite3', '1.3.3'

group :development do
gem 'rspec-rails', '2.6.1'
end

group :test do
gem 'rspec-rails', '2.6.1'
gem 'webrat', '0.7.1'
end

В вашем типе терминала

$ bundle update
$ bundle install

Затем попробуйте еще раз команду

rails generate rspec:install

Удачи! :)

15
akmur 5 Сен 2011 в 23:55

Как вы установили rspec? Вы выполнили «установку драгоценного камня» или поместили его в свой Gemfile? Если это только в вашем Gemfile, попробуйте поставить "bundle exec" перед вашей командой, например:

bundle exec rails g rspec:install

Я знаю, что мне нужно использовать bundle exec при запуске спецификаций, поэтому он может вам понадобиться и для сценария инициализации (я не могу вспомнить, когда я это сделал, но у меня точно такие же версии ruby ​​/ rails)

1
jdc 25 Авг 2011 в 16:03

Похоже, вы создали свой проект с более поздней версией (rails 3.1) гема rails. Убедитесь, что вы используете gemset, в котором есть только драгоценные камни rails 3.0.9, а затем сделайте rails new для создания вашего проекта. Это гарантирует, что в вашем application.rb не будет встречаться линия звездочек / рельсов.

0
Pratik Khadloya 7 Дек 2011 в 00:07