2013-08-12 3 views
6

मुझे यहां वास्तव में एक अजीब समस्या है।लोडरर के साथ एक मणि की आवश्यकता के द्वारा: पथ या: git

मैंने कुछ संशोधनों के लिए जिथब पर एक मणि फोर्क किया, मेरी स्थानीय मशीन पर मेरे रेपो को क्लोन किया, परिवर्तन किए और परीक्षण के लिए अपने स्थानीय भंडार से मणि लाने के लिए किसी अन्य प्रोजेक्ट के जेमफाइल को बदल दिया। दुर्भाग्य से मुझे अपनी रूबी स्क्रिप्ट में उस मणि की आवश्यकता होने पर लोडरर मिलता है।

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 

मेरी Gemfile की सामग्री:

source 'http://rubygems.org 

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

बंडल उत्पादन:

स्क्रिप्ट काम नहीं करता है के माध्यम से
$ bundle exec irb 
1.9.3-p392 :001 > require 'rubygems' 
=> false 
1.9.3-p392 :002 > require 'steps' 
=> true 

परीक्षण:

$ 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 

ठीक आईआरबी काम करता है के माध्यम से परीक्षण:

$ 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>' 

मैं अभी बहुत उलझन में हूं। वही होता है यदि मैं इसका उपयोग करता हूं: इसके बजाय गिट: स्थानीय गिट रेपो या जिथब रेपो के साथ पथ।

कोई भी विचार?

उत्तर

12

आप test.rb

bundle exec ruby test.rb 
+1

काम करता है। धन्यवाद! – phortx

+0

वाह मैं पिछले आधे घंटे के लिए अपने सिर खरोंच कर रहा हूं .... मणि जुर्माना स्थापित करें, बंडलर इसे दिखाता है लेकिन आप इसे लोड नहीं कर सकते। क्या आप कृपया छोटे स्पष्टीकरण प्रदान कर सकते हैं कि हमें स्थानीय रत्नों के लिए बंडल निष्पादन का उपयोग करने की आवश्यकता क्यों है? – BlackDivine

0

आप के माध्यम से बंडलर पर्यावरण के साथ चला सकते हैं चलाने से पहले बंडलर पर्यावरण लोड करना होगा: bundle exec ruby script.rb

या पहले अपनी स्क्रिप्ट में बंडलर सेटअप की आवश्यकता मणि (ओं) जो समस्या पैदा कर रहे हैं। require 'bundler/setup'

अधिकांश लिंक मैं वहाँ इस बारे में पाया Bundler की साइट पर प्रलेखन की ओर इशारा किया, लेकिन लिंक के सबसे सब अब दुर्भाग्य से मर चुके हैं।

संबंधित मुद्दे