2014-02-15 11 views
1

Я слежу за учебником по http://ruby.railstutorial.org/chapters/static-pages, и у меня есть ruby ​​2.0.0 с Rails 4.0.2. У меня установлен Guard, и он настроен на использование spork. Everythign работает - сортировка.Какую версию драгоценных камней я должен использовать?

Я испытываю ошибку отметить https://github.com/guard/guard/issues/495

Я попытался изменить требование к версии, поэтому я использую последнюю версию драгоценных камней в моей группе развития, но когда что-то изменить, что вызывает караул для запуска функции, которые выполняют их 3 раза.

Вот мой драгоценный камень файл:

source 'https://rubygems.org' 
ruby '2.0.0' 
#ruby-gemset=railstutorial_rails_4_0 

gem 'rails', '4.0.2' 

group :development, :test do 
    #gem 'sqlite3', '1.3.8' 
    gem 'mysql2' 
    gem 'rspec-rails'#, '2.13.1' 
    gem 'guard-rspec'#, '2.5.0' 
    gem 'spork-rails'#, '4.0.0' 
    gem 'guard-spork'#, '1.5.0' 
    gem 'childprocess'#, '0.4.2' 
end 

group :test do 
    gem 'selenium-webdriver', '2.35.1' 
    gem 'capybara', '2.1.0' 
    gem 'libnotify'#, '0.8.0' 
end 

gem 'sass-rails', '4.0.1' 
gem 'uglifier', '2.1.1' 
gem 'coffee-rails', '4.0.1' 
gem 'jquery-rails', '3.0.4' 
gem 'turbolinks', '1.1.1' 
gem 'jbuilder', '1.0.2' 

group :doc do 
    gem 'sdoc', '0.3.20', require: false 
end 

Вот мой GuardFile

# A sample Guardfile 
# More info at https://github.com/guard/guard#readme 
require 'active_support/inflector' 
interactor :simple 
guard 'spork', :cucumber_env => { 'RAILS_ENV' => 'test' }, :rspec_env => { 'RAILS_ENV' => 'test' } do 
    watch('config/application.rb') 
    watch('config/environment.rb') 
    watch('config/environments/test.rb') 
    watch(%r{^config/initializers/.+\.rb$}) 
    watch('Gemfile.lock') 
    watch('spec/spec_helper.rb') { :rspec } 
    watch('test/test_helper.rb') { :test_unit } 
    watch(%r{features/support/}) { :cucumber } 
end 

guard :rspec, all_after_pass: false, cli: '--drb' do 

    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch('spec/spec_helper.rb') { 'spec' } 

    # Rails example 
    watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$})   { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } 
    watch(%r{^spec/support/(.+)\.rb$})     { 'spec' } 
    watch('config/routes.rb')       { 'spec/routing' } 
    watch('app/controllers/application_controller.rb') { 'spec/controllers' } 
    watch(%r{^app/views/(.+)/}) { |m| (m[1][/_pages/] ? "spec/requests/#{m[1]}_spec.rb" : "spec/requests/#{m[1].singularize}_pages_spec.rb")} 
    # Capybara features specs 
    watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$})  { |m| "spec/features/#{m[1]}_spec.rb" } 

    # Turnip features and steps 
    watch(%r{^spec/acceptance/(.+)\.feature$}) 
    watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' } 
end 

Вот мой спецификации помощник:

require 'rubygems' 
require 'spork' 

Spork.prefork do 
    rubymine_home = '/home/matt/Desktop/RubyMine-6.0.3/' 
    if rubymine_home 
    $:.unshift(File.expand_path('rb/testing/patch/common', rubymine_home)) 
    $:.unshift(File.expand_path('rb/testing/patch/bdd', rubymine_home)) 
    end 

... Defaults Here ... 

end 
Spork.each_run do 
    # This code will be run each time you run your specs. 

end 

Вот результаты расслоении шоу

Gems included by the bundle: 
    * actionmailer (4.0.2) 
    * actionpack (4.0.2) 
    * activemodel (4.0.2) 
    * activerecord (4.0.2) 
    * activerecord-deprecated_finders (1.0.3) 
    * activesupport (4.0.2) 
    * arel (4.0.2) 
    * atomic (1.1.14) 
    * builder (3.1.4) 
    * bundler (1.5.3) 
    * capybara (2.1.0) 
    * celluloid (0.15.2) 
    * celluloid-io (0.15.0) 
    * childprocess (0.4.2) 
    * coderay (1.1.0) 
    * coffee-rails (4.0.1) 
    * coffee-script (2.2.0) 
    * coffee-script-source (1.7.0) 
    * diff-lcs (1.2.5) 
    * erubis (2.7.0) 
    * execjs (2.0.2) 
    * ffi (1.9.3) 
    * formatador (0.2.4) 
    * guard (2.4.0) 
    * guard-rspec (2.5.0) 
    * guard-spork (1.5.0) 
    * hike (1.2.3) 
    * i18n (0.6.9) 
    * jbuilder (1.0.2) 
    * jquery-rails (3.0.4) 
    * json (1.8.1) 
    * libnotify (0.8.0) 
    * listen (2.5.0) 
    * lumberjack (1.0.4) 
    * mail (2.5.4) 
    * method_source (0.8.2) 
    * mime-types (1.25.1) 
    * mini_portile (0.5.2) 
    * minitest (4.7.5) 
    * multi_json (1.8.4) 
    * mysql2 (0.3.15) 
    * nio4r (1.0.0) 
    * nokogiri (1.6.1) 
    * polyglot (0.3.3) 
    * pry (0.9.12.6) 
    * rack (1.5.2) 
    * rack-test (0.6.2) 
    * rails (4.0.2) 
    * railties (4.0.2) 
    * rake (10.1.1) 
    * rb-fsevent (0.9.4) 
    * rb-inotify (0.9.3) 
    * rdoc (3.12.2) 
    * rspec (2.13.0) 
    * rspec-core (2.13.1) 
    * rspec-expectations (2.13.0) 
    * rspec-mocks (2.13.1) 
    * rspec-rails (2.13.1) 
    * rubyzip (0.9.9) 
    * sass (3.2.14) 
    * sass-rails (4.0.1) 
    * sdoc (0.3.20) 
    * selenium-webdriver (2.35.1) 
    * slop (3.4.7) 
    * spork (1.0.0rc4) 
    * spork-rails (4.0.0) 
    * sprockets (2.10.1) 
    * sprockets-rails (2.0.1) 
    * thor (0.18.1) 
    * thread_safe (0.1.3) 
    * tilt (1.4.1) 
    * timers (1.1.0) 
    * treetop (1.4.15) 
    * turbolinks (1.1.1) 
    * tzinfo (0.3.38) 
    * uglifier (2.1.1) 
    * websocket (1.0.7) 
    * xpath (2.0.0) 

Я программировал в рубине на рельсах всего 4 дня (и 2 из них пытались заставить его работать). Почему совместимость с драгоценными камнями должна быть настолько сложной !? Что я должен использовать, чтобы исправить проблему защиты, которую у меня есть?

+1

Если честно, если вы новичок в рельсах, я бы не стал беспокоиться о Гвардии и Спарке еще и сосредоточиться на Rails. Не переусердствуйте с тем, что вам не нужно. В любом случае, большинство людей сейчас бросают Guard/Spork для Зевса. :) – Jon

+0

@Jon Спасибо за вход. Я просто пытаюсь сделать то, что подсказки говорят мне: -P. Я привык к PHP и очень быстро изучаю любой язык. Я ЛЮБЛЮ, как устанавливаются рельсы. Мне особенно нравится тестирование модулей rspec. Думаю, я тоже понял ответ: - /. – Bil1

ответ

1

Я работал над этим почти за час до публикации вопроса, но потом я понял, что охранник-rspec нуждается в обновлении. Я не знаю, как сказать рубину, чтобы использовать последнюю стабильную версию. Если бы кто-то мог уточнить, что в комментарии я был бы признателен.

Решение было изменить файл гем: драгоценный камень «охранник-RSpec», «4.2.6»

Затем сделайте пучок обновления

И убить и запустить охранник снова (или для некоторого расслоения ехес охранником)

+0

Если вы не укажете числа, связной будет захватывать последнюю доступную версию при запуске 'bundle update'. Кроме того, ознакомьтесь с http://gemnasium.com, чтобы узнать, устали ли ваши драгоценные камни. Это бесплатно для открытых репозиториев. – Jon

+0

Кроме того, если вы не укажете номера версий, Bundler может иногда использовать более старую версию драгоценного камня, если это также разрешится. Обязательно проверьте свой Gemfile.lock после каждого обновления пакета. – iain

+0

@iain Я испытываю это. Как исправить пакет и заставить его получить новейший драгоценный камень? (помимо указания точной версии в моем gemfile) – Bil1

Смежные вопросы