2012-06-12 7 views
4

У меня есть проблема с драгоценными камнями. Каждый раз, когда я запускаю команду Spork я получаю эту длинную ошибку:Spork не может загружать такой файл?

[email protected]:~/rails_projects/sample_app$ spork 
Using RSpec 
Preloading Rails environment 
Loading Spork.prefork block... 
cannot load such file -- /home/evan/rails_projects/sample_app/spec_helper (LoadError) 
/home/evan/rails_projects/sample_app/spec/spec_helper.rb:57:in `require_relative' 
/home/evan/rails_projects/sample_app/spec/spec_helper.rb:57:in `block in <top (required)>' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork.rb:24:in `prefork' 
/home/evan/rails_projects/sample_app/spec/spec_helper.rb:6:in `<top (required)>' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:in `load' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:in `block in load' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:236:in `load_dependency' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:in `load' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/test_framework.rb:138:in `block (2 levels) in preload' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/app_framework/rails.rb:8:in `preload' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/test_framework.rb:134:in `block in preload' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork.rb:62:in `exec_prefork' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/test_framework.rb:120:in `preload' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:25:in `preload' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/runner.rb:74:in `run' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/lib/spork/runner.rb:10:in `run' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/bin/spork:10:in `<top (required)>' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/bin/spork:23:in `load' 
/home/evan/.rvm/gems/ruby-1.9.3-p194/bin/spork:23:in `<main>' 

Вот мой Gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.5' 

gem 'sqlite3' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

group :development, :test do 
    gem 'rspec-rails', ">= 2.0.1" 
end 

group :test do 
    gem 'rspec-rails', '>= 2.0.1' 
    gem 'spork', '>= 0.8.4' 
end 

Я в недоумении, что делать или как описать мою ситуацию. Но результат я вижу в Ruby On Rails 3 Учебное пособие Книга показывает:

$ spork 
Using RSpec 
Loading Spork.prefork block... 
Spork is ready and listening on 8989! 

ответ

10

Только что испытал ту же проблему после обновления системы. Это было связано с отсутствием привилегии чтения в файле.

Простой CHMOD + г работал для меня:

sudo chmod +r /home/evan/.rvm/gems/ruby-1.9.3-p194/gems/spork-0.9.2/bin/spork 

EDIT

я был еще раз проблему при обновлении Rails 3.2.9 & Рубин 1.9.3-P327. К сожалению, на этот раз это не исходило из того, что касается права доступа, но из драгоценного камня, который развивался между двумя обновлениями (должен быть полностью прозрачным). Поэтому, если вы получаете эту проблему, вы также должны проверить, какой файл отсутствует, если у вас нет прав доступа к привилегии и правильно обновить соответствующие камни.

+0

попробуйте еще раз запустить пакет установить –

+1

Чтобы исправить мою систему, я неоднократно обновлял разрешения на файлы, такие как @Fabrice, на каждый файл, который не удалось загрузить. Во всех обновленных разрешениях для 8 файлов в каталоге gem. – luther07

+0

Мне нужно было сделать «chmod -R a + r» – duma

1

По внешнему виду этого, у вас есть файл «spec_helper.rb» в папке «» спецификации, которая Spork пытается загрузить и внутри этот файл в строке 57 у вас есть блок, внутри которого есть оператор require_relative "../spec_helper", который указывает на файл «spec_helper.rb» в корневой папке проекта, а ruby ​​«не может загрузить такой файл», потому что он отсутствует.

1

Имел ту же проблему, но смог войти в файл spec_help.rb и просто сохранить его. Как только я это сделал, он начал работать.

0

Я на самом деле просто столкнулся с той же проблемой. В моем окружении/файле test.rb я установил config.cache_classes в true.

На самом деле для корректной работы Spork для конфигурации Spork необходимо установить значение false для параметра config.cache_classes.

+0

Это не решило ошибку для меня ... – Nick

1

Я использую Rails 3.2.12 и ruby-1.9.3-p392. В моем случае добавление require 'spork' в мой Gemfile и запуск bundle install сделал трюк.

0

У меня такая же проблема. У меня был

require 'spec_helper' 

линию внутри самого spec_helper.rb файла ... позволяет сказать, требует файл spec_helper.rb рекурсивным способом. Просто удалите эту строку, и все работает нормально.

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

  • Нет связанных вопросов^_^