2010-10-28 16 views
13

के साथ किसी प्रोजेक्ट में रेल के कांटे में शाखा का उपयोग कैसे करें मुझे जिथब पर rails repo का कांटा मिला है, जिसमें रेल-2-3-स्थिर शाखा के आधार पर मुझे शाखा मिली है । मैं अपने ऐप के साथ रेल 2.3.10 के आधार पर कुछ बदलाव विकसित करना चाहता हूं। हम बंडलर का उपयोग कर रहे हैं, और ऐप को एसवीएन के साथ संस्करणित किया गया है।बंडलर

रेल की जिथब कांटा में मेरी शाखा का उपयोग करने और इसे मशीनों में साझा करने का सबसे साफ तरीका क्या है?

एक तरीका यह होगा:

how do I install edge rails?

जो काम करेगा, लेकिन यह पर्याप्त साफ महसूस नहीं करता है, के रूप में हम स्वयं जब रेपो परिवर्तन vendored संस्करण को अद्यतन करना होगा, और हम डी svn में गिट रेपो की जांच करनी है।

मैं Gemfile में इस के रूपांतरों की कोशिश की है:

gem 'rails', '2.3.10', :git => 'git://github.com/traveliq/rails.git', :branch => 'tiq-fixes' 
gem 'rails', '2.3.10', :git => 'git://github.com/traveliq/rails.git', :tag => 'v2.3.10' 
gem 'rails', '2.3.10', :git => 'git://github.com/rails/rails.git', :tag => 'v2.3.10' 

उन सब के सब शुरू में जब bundle install चल रहा है, लेकिन जब अनुप्रयोग शुरू, यह लोड पथ में रेल नहीं मिल रहा है काम:

 
/home/mt/Development/config/boot.rb:57:in `require': no such file to load -- initializer (LoadError) 
    from /home/mt/Development/config/boot.rb:57:in `load_initializer' 
    from /home/mt/Development/config/boot.rb:117:in `run' 
    from /home/mt/Development/config/boot.rb:11:in `boot!' 
    from /home/mt/Development/config/boot.rb:130 
    from script/console:2:in `re 

मेरे Gemfile.lock प्रविष्टियों इस तरह हैं:

 
GIT 
    remote: git://github.com/traveliq/rails.git 
    revision: 25139ac92cea5b17791d71359bc3ae2a5d526652 
    branch: tiq-fixes 
    specs: 
    rails (2.3.10) 

... 

DEPENDENCIES 

... 

rails (= 2.3.10)! 

+0

आप कैसे Gemfile.lock है हो सकता था? – shingara

+0

Gemfile.lock अंश के साथ प्रश्न अपडेट किया गया –

उत्तर

17

बालू का जवाब मुझे सही पाठ्यक्रम की ओर इशारा किया, लेकिन यहाँ कुछ और जानकारी कर रहे हैं:

यह रेल रेपो/2-3 स्थिर शाखा में जवाहरात के अधिकांश के लिए एक साथ .gemspec फ़ाइलों पक्की सड़क के लिए जरूरी हो गया था - मेरी ले या देखा जा सकता है http://github.com/traveliq/rails/commit/46d9042c9125abbbedfc672f8523d81210f4f320

पर काँटेदार शामिल करने के लिए है कि एक Gemfile, उपयोग में:

git "git://github.com/traveliq/rails.git", :branch => 'tiq-fixes' do 
    gem 'rails' 
    gem 'actionmailer' 
    gem 'actionpack' 
    gem 'activerecord' 
    gem 'activeresource' 
    gem 'activesupport' 
end 

ध्यान दें कि आप 'railties' का उपयोग नहीं कर सकते हैं, यह है कि केवल 'रेल' मणि परिभाषित करता है।

संयोग से, जबकि इस पर काम कर रहा है, यह रास्ता आसान था अपने स्थानीय रेपो, जो इस तरह से (Gemfile से एक स्तर नीचे पटरियों जहां रेपो क्लोन है फ़ोल्डर जा रहा है,) किया जाता है पर Gemfile बात करने के लिए:

gem 'rails',   :path => 'rails/railties' 
gem 'actionmailer',  :path => 'rails/actionmailer' 
gem 'actionpack',  :path => 'rails/actionpack' 
gem 'activerecord',  :path => 'rails/activerecord' 
gem 'activesupport', :path => 'rails/activesupport' 

रेल/railties .gemspec परिभाषित करने के बाद, आप भी बाहर उन रत्नों में से कुछ छोड़ देते हैं, और बंडलर Gemcutter आदि से सामान्य रूप से उपलब्ध संस्करणों का उपयोग

6

संस्करण 2.3.10 में ऐसा लगता है , रेल के पास इसके घटकों के लिए gemspec फ़ाइलें नहीं थीं। इसके बजाय, प्रत्येक gemspec संबंधित रेकैकाइल में निर्दिष्ट है।

नहीं तो आप का प्रयोग करेंगे:

git "git://github.com/traveliq/rails.git", :branch => 'tiq-fixes', :tag => 'v2.3.10' do 
    gem 'actionpack' 
    gem 'activesupport' 
    gem 'activerecord' 
    gem 'activemodel' 
    gem 'actionmailer' 
    gem 'railties' 
end 

आगे संदर्भ: http://gembundler.com/git.html

संपादित करें: इसका मतलब है कि उस बंडलर जगह में होना करने के लिए एक gemspec की आवश्यकता है।

+0

मुझे बंडलर गिट दस्तावेज़ों को इंगित करने के लिए धन्यवाद, पता नहीं था कि "प्रारंभ करना" दस्तावेज़ों से अधिक थे।हालांकि, मुझे अभी भी यह त्रुटि मिल रही है: गिट में 'gem' actionpack (> = 0, रनटाइम) 'नहीं मिला: //github.com/traveliq/rails.git (tiq-fixes पर)। स्रोत में 'actionpack (> = 0, रनटाइम)' –

+1

का कोई संस्करण नहीं है, ठीक है, मैं इसे अपना उत्तर देता हूं: बंडलर और रेल 2.3.x के साथ बॉक्स से बाहर नहीं है। लेकिन मुझे लगता है कि मैं अपनी शाखा में निर्भरता में gemspec फाइल जोड़ सकता हूँ? –

+0

यूप। बस इसे मणि निर्देशिका में Rakefile से कॉपी करें। – balu

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