2011-06-05 19 views
10

के पुराने संस्करण का उपयोग करें मेरे पास रेक संस्करण 0.9.1 है लेकिन मुझे प्रोजेक्ट के लिए 0.8.7 का उपयोग करने की आवश्यकता है, और मुझे काफी यकीन है कि मेरे पास दोनों संस्करण स्थापित हैं लेकिन यह हमेशा डिफ़ॉल्ट रूप से 0.9.1 का उपयोग करता है। क्या रेक का उपयोग करने के लिए कौन सा संस्करण निर्दिष्ट करने का कोई तरीका है?रेक

मैं इस चलाने के लिए कोशिश कर रहा हूँ: रेक db: ड्रॉप db: db बनाएँ: db विस्थापित: बीज और मैं इस त्रुटि मिलती है: आप पहले से ही रेक 0.9.1 सक्रिय कर लिया है, लेकिन अपने Gemfile रेक 0.8.7 की आवश्यकता है । बंडल निष्पादन का उपयोग करने पर विचार करें।

+1

ठीक है, इसका जवाब आपके सवाल में था: ** बंडल कार्यकारी उपयोग पर विचार करें **;) – Arsen7

उत्तर

15

आप रैक का उपयोग करने के संस्करण निर्दिष्ट कर सकते हैं, अपने Gemfile में:

gem 'rake', '0.8.7' 

हालांकि "त्रुटि" संदेश मिल रहा है यह सब कहते हैं ... आप को चलाने के लिए की जरूरत है:

bundle exec rake ... 

... अपने रेक कार्यों को चलाने के लिए सही रेक का उपयोग करने के लिए। bundle exec पर

और जानकारी: http://gembundler.com/man/bundle-exec.1.html

24

मणि खोज (या सूची) रेक, आप को बताना चाहिए जो संस्करण स्थापित कर रहे हैं।

आप अंडरस्कोर से कोष्ठकों के भीतर एक विशेष संस्करण संख्या के साथ रेक आह्वान कर सकते हैं।

$rake _0.7.3_

यह मणि पैक युग्मक की एक मानक सुविधा है।

8

कोशिश को क्रियान्वित करने gem uninstall rake तो बस संस्करण आप स्थापना रद्द करना चाहते हैं।

3

यह होता है क्योंकि आप सिस्टम से रेक उपयोग कर रहे हैं।

bundle exec rake db:migrate 

इसके अलावा, आप अन्य नाम बना सकते हैं: (डिफ़ॉल्ट रूप से नवीनतम संस्करण) समाधान उपयोग अनुवर्ती आदेश है। क्योंकि यह आदेश बहुत बड़ा और लिखना मुश्किल है।

echo "alias be='bundle exec'" >> ~/.bash_profile 
source ~/.bash_profile 

तो आप का उपयोग कम आदेश का पालन कर सकते हैं:

be rake db:migrate 
संबंधित मुद्दे