2012-06-12 12 views
8

की वजह से रेल 3.0.1 सक्रिय करने में असमर्थ तो मैं चलाएँ:बंडलर संस्करण विरोध

$ gem install rails --version 3.0.1 

Successfully installed rails-3.0.1 
1 gem installed 
Installing ri documentation for rails-3.0.1... 
Installing RDoc documentation for rails-3.0.1... 

तो मैं त्रुटि मिलती है:

$ rails -v 
/usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1637:in `raise_if_conflicts': Unable to activate rails-3.0.1, because bundler-1.1.4 conflicts with bundler (~> 1.0.0) (Gem::LoadError) 
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:746:in `activate' 
from /usr/local/rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1232:in `gem' 
from /usr/local/rvm/gems/[email protected]/bin/rails:18:in `<main>' 
from /usr/local/rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval' 
from /usr/local/rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>' 

उत्तर

3

आप बंडलर 1.1.4 के लिए अद्यतन करने की आवश्यकता हो सकती है।

gem update bundler

चाल करना चाहिए।

+0

मेरे पास उपरोक्त त्रुटि है। मैंने इस फिक्स को चलाया, लेकिन बंडलर "अद्यतित है" और जब मैं रेल की कोशिश करता हूं- फिर से मुझे पहले जैसा सटीक आउटपुट मिलता है। मदद! – stopshinal

+2

यहां मुद्दा बंडलर से पुराना नहीं है, बल्कि बहुत अद्यतित है। '~> 1.0.0' का मतलब' 1.0.0' से कोई भी संस्करण है, लेकिन इसमें '1.1.0' शामिल नहीं है। –

+0

कॉलिन सही है, उसका जवाब देखें, मेरा अस्वीकार्य होना चाहिए ताकि मैं इसे हटा सकूं। – ipd

1

मुझे mysql के साथ एक ही समस्या थी। मैंने mysql मणि को अनइंस्टॉल किया और मैंने mysql मणि का नवीनतम संस्करण स्थापित किया। आरवीएम ठीक है?

2

यह संभवतः रूबी v1.9.2/3 के कारण बंडलर v1.1.4 का उपयोग करता है जबकि रेल v3.0.1 को बंडलर v ~ 1.0.0 की आवश्यकता होती है। इसलिए, रेल संस्करण को v3.2.6 में बस अपडेट करके, संघर्ष हल हो जाता है। रुबी और रेल संस्करण से मेल करके इस संघर्ष को आसानी से हल किया जा सकता है।

7

तो रेल 3.0.1 Bundler v1.0.0 की आवश्यकता है - v1.0.22 (वास्तव में किसी भी 1.0.x संस्करण अप करने के लिए है, लेकिन सहित नहीं, 1.1.0), लेकिन आप Bundler के एक नए संस्करण है कि जब रेल प्रारंभ हो तब लोड किया जा रहा है। आप बंडलर के नए संस्करण (अनइंस्टॉल) को अनइंस्टॉल कर सकते हैं (हालांकि यह समस्या से निपटने के लिए एक गड़बड़ तरीका है) या चूंकि आप आरवीएम का उपयोग कर रहे हैं, बस रेल 3.0.1 के लिए एक रत्न बनाएं।

$ rvm gemset create rails_3.0.1 
$ rvm gemset use rails_3.0.1 
$ gem install rails -v 3.0.1 
$ rails -v 
3.0.1 

नोट: इस उस बंडलर रूबी संस्करण आप उपयोग करने की कोशिश कर रहे हैं के लिए अपने global gemset में नहीं हो की आवश्यकता है। यदि global रत्न में 1.1.0 से अधिक या उससे अधिक के बंडलर संस्करण शामिल हैं तो आपको पहले की तरह ही त्रुटि मिल जाएगी।

अद्यतन: एक छोटी सी स्पष्टीकरण के बारे में ~> और वर्ज़निंग RubyGems काम हो सकता है। RubyGems दस्तावेज़ में section on pessimistic version constraint सबकुछ को कवर करने का शानदार काम करता है।

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