2013-08-12 9 views
6

Burada gerçekten garip bir sorun var.LoadError ile bir gem gerektiren: yol veya: git

Bazı modifikasyonlar yapmak için github'da bir mücevher çıkardım, yerel makinemdeki repo'larımı klonladım, değişiklikleri yaptım ve Gemfile'ı başka bir projenin test edilmesi için yerel depomdan getirmesi için değiştirdim. Ne yazık ki, bu mücevher benim ruby ​​komut dosyasında gerektirirken bir LoadError aldım. Benim Gemfile ait

rvm current => ruby-1.9.3-p448 
ruby --version => ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux] 
bundle --version => Bundler version 1.3.5 

İçerik:

source 'http://rubygems.org 

gem 'steps', :path => "/home/benny/workspace/steps" 

Paketi çıkışı: çalışmıyor komut dizisi ile

$ bundle exec irb 
1.9.3-p392 :001 > require 'rubygems' 
=> false 
1.9.3-p392 :002 > require 'steps' 
=> true 

Test: ince irb eserler yoluyla

$ bundle --no-cache 
Resolving dependencies... 

Using colored (1.2) 
Using highline (1.6.19) 
Using steps (1.0.2) from source at /home/benny/workspaces/steps 
Using bundler (1.3.5) 
Your bundle is complete! 
Use `bundle show [gemname]` to see where a bundled gem is installed. 


$ bundle show steps 
/home/benny/workspaces/steps 

Test:

$ cat test.rb 
require 'rubygems' 
require 'steps' 

$ ruby test.rb 
/home/benny/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- steps (LoadError) 
from /home/benny/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from test.rb:2:in `<main>' 

Şu an kafam çok karışık. Ben kullanırsanız aynı olur: Git yerine: yerel git repo veya github repo ile yol.

Herhangi bir fikrin var mı?

cevap

12

Sen

bundle exec ruby test.rb 
+1

Çalışmaları. Teşekkür ederim! – phortx

+0

Vay Kafalarımı son yarım saattir çiziyordum .... Mücevherleri para cezası, paketleyici gösteriyor ama yükleyemiyorsunuz. Yerel mücevherler için bundle exec kullanmamız gerektiği konusunda biraz açıklama yapabilir misiniz? – BlackDivine

0

Sen aracılığıyla bundler ortamı ile çalışabilir test.rb çalıştırmadan önce paketleyici ortamı yüklemek gerekecek: bundle exec ruby script.rb

Veya önce komut bundler kuruluma ihtiyaç vardır soruna neden olan gem (ler). require 'bundler/setup'

Bu konuyla ilgili öğrendiklerimin çoğu, Bundler'in sitesinde bulunan belgelere işaret etti, ancak bağlantıların çoğu artık maalesef öldü.