2012-03-08 3 views
0

튜토리얼 this 다음에 Ruby Gem을 만들려고 시도하고 있지만 rspec을 구성 할 수 없어서 내 보석을 찾을 수 없습니다. 보석 파일 찾기에 문제가 있습니까?

$ gem list | grep gemname 
gemname (0.0.1.alpha) 

$ rake spec 
/Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/bin/ruby -S rspec ./spec/gemname_spec.rb 
/Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- gemname (LoadError) 
    from /Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/rudolph9/Developer/gemname/spec/spec_helper.rb:2:in `<top (required)>' 
    from /Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/rudolph9/Developer/gemname/spec/gemname_spec.rb:1:in `<top (required)>' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run' 
    from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun' 
rake aborted! 
/Users/rudolph9/.rvm/rubies/ruby-1.9.3-p0/bin/ruby -S rspec ./spec/gemname_spec.rb failed 

Tasks: TOP => default => spec 
(See full trace by running task with --trace) 

I이이 아마도 레이크 파일이 이전에 언급하지만 확실하지 않다 튜토리얼에 구성되는 방법을 RVM을 사용하거나 함께 할 수있는 뭔가가있을 수 있습니다.

문제의 원인은 무엇입니까?

+0

튜토리얼을 사용해야합니까? 다른 사람들에게 해봤습니까? 가장 일반적인 문제는 $ PATH에없는 파일 때문이었습니다. –

답변

1

spec_helper.rb 파일의 require에서 부풀어 오르는 것처럼 보입니다. 당신의 주옥 클래스가 귀하의 보석 이름과 같은가요? 보석의 이름이 아니라 메인 클래스가 필요합니다. require 문을 다음 중 하나로 변경하고 다른 결과를 얻는 지 확인하십시오.

require 'gemname' 
# Or 
require 'gemname.rb' 
# Or 
require './path/to/gemname.rb' 
나는 또한 IRB에서 클래스를 필요로하고에서 작동합니다 어떤 상황 보려고 것

0

당신이 보석을 구축하고 그것의 이름을 필요로 할 때 제공해야합니다.

lib/gemname.rb 

그것은 단지 당신이 원하는 그것에서 다른 물건을 필요로하는 것처럼,이 파일에 무엇이 덜 중요 :

require 'gemname/nothing' 

이 파일도 존재합니다.

lib/gemname/nothing.rb