Ошибка загрузки рубинов - PullRequest
1 голос
/ 08 февраля 2011

Во время операции (связанной с rspec), которая требовала загрузки рубинов (из файла config / boot.rb), я получил следующее сообщение об ошибке:

~/config/boot.rb:1:in `require': no such file to load -- rubygems (LoadError)
~/config/boot.rb:1
    from ~/config/application.rb:1:in `require'
    from ~/config/application.rb:1
    from ~/config/environment.rb:2:in `require'
    from ~/config/environment.rb:2
    from ~/spec/spec_helper.rb:3:in `require'
    from ~/spec/spec_helper.rb:3
    from ~/spec/models/user_spec.rb:1:in `require'
    from ~/spec/models/user_spec.rb:1
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `each'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/options.rb:132:in `run_examples'
    from /usr/lib/ruby/1.8/spec/runner/command_line.rb:9:in `run'
    from /usr/bin/spec:3

Я искал эту ошибку в SO и обнаружил следующееТемы: ruby ​​gem не найден, хотя он установлен и нет такого файла для загрузки - rubygems (LoadError)

Однако оба они отметили, что проблема может возникнутьналичие нескольких версий ruby ​​на машине.На самом деле это было так, поэтому я решил запустить новую установку ruby ​​и rails, используя RVM.Но у меня все та же проблема!

Дополнительная информация:

which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/ruby

which rails
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rails

which gem
/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/gem

gem --version
1.5.0

ls /usr/lib/ruby
1.8  1.9.1  gems

Есть идеи?

1 Ответ

1 голос
/ 08 февраля 2011

Таким образом, я, по-видимому, решил свою проблему, используя команду rspec вместо spec. Если кто-то может объяснить, что на самом деле происходит за кулисами, это было бы здорово!

amokrane@san-francisco ~/Documents/prog/web/learning_rails/forecaster/spec $ spec models/user_spec.rb 
/home/amokrane/Documents/prog/web/learning_rails/forecaster/config/boot.rb:1:in `require': no such file to load -- rubygems (LoadError)
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/config/boot.rb:1
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/config/application.rb:1:in `require'
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/config/application.rb:1
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/config/environment.rb:2:in `require'
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/config/environment.rb:2
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/spec/spec_helper.rb:3:in `require'
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/spec/spec_helper.rb:3
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/spec/models/user_spec.rb:1:in `require'
    from /home/amokrane/Documents/prog/web/learning_rails/forecaster/spec/models/user_spec.rb:1
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `each'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/options.rb:132:in `run_examples'
    from /usr/lib/ruby/1.8/spec/runner/command_line.rb:9:in `run'
    from /usr/bin/spec:3

amokrane@san-francisco ~/Documents/prog/web/learning_rails/forecaster/spec $ rspec models/weather_spec.rb 
F

Failures:

  1) Weather should be valid
     Failure/Error: @weather = Weather.new
     ActiveRecord::StatementInvalid:
       Could not find table 'weathers'
     # ./models/weather_spec.rb:6:in `new'
     # ./models/weather_spec.rb:6:in `block (2 levels) in <top (required)>'

Finished in 0.11124 seconds
1 example, 1 failure
...