2010-09-10 11 views
13

औपचारिक दस्तावेज़ीकरण में वर्णित चीजें थोड़ा जटिल हैं।रेल 3 के बंडलर "बंडल इंस्टॉल - डिप्लॉयमेंट" वास्तव में क्या करता है?

यह महज .bundle/config

BUNDLE_PATH: vendor/bundle 

के लिए निम्न पंक्ति जोड़ें करता है और फिर एक bundle install करते हैं, और यह है कि यह क्या है? (इंस्टॉल करें तो vendor/bundle में सभी रत्न स्थापित करें)

फिर जब एप्लिकेशन चलता है, तो यह .bundle/config में निर्दिष्ट इस पथ में रत्नों की तलाश करेगा, और यह है?

Update: अगर मैं मर्क्युरियल (Git के समान) का उपयोग परियोजना में फ़ाइलों का ट्रैक रखने के लिए, तो bundle install --deployment करने के बाद, केवल परिवर्तन विक्रेता/बंडल को जोड़ा फ़ाइलों का एक बहुत कुछ कर रहे हैं, और 2 लाइनों .bundle/config को जोड़ा गया:

BUNDLE_FROZEN: "1" 
BUNDLE_PATH: vendor/bundle 

उत्तर

9

bundle install --deployment वास्तव में एप्लिकेशन में vendor/bundle निर्देशिका में स्थानीय रूप से रत्न स्थापित करता है। यह आपके द्वारा वर्णित पथ सेटिंग में कॉन्फ़िगरेशन परिवर्तन द्वारा प्रतिबिंबित होता है (BUNDLE_PATH: विक्रेता/बंडल)। इस दृष्टिकोण को रत्नों के "ठंड" या "विक्रेता" के रूप में जाना जाता है और यह वैश्विक प्रणाली रत्नों की बजाय स्थानीय रूप से स्थापित रत्नों का उपयोग करने के लिए एप्लिकेशन को मजबूर करता है, जो तैनाती के लिए सुविधाजनक डिफ़ॉल्ट है। के रूप में बंडलर दस्तावेज में उल्लेख किया है:।

"तैनाती में, अलगाव एक और महत्वपूर्ण डिफ़ॉल्ट है इसके अलावा, उपयोगकर्ता आवेदन की तैनाती व्यवस्था करने के लिए जवाहरात स्थापित करने के लिए अनुमति नहीं है, या वेब सर्वर नहीं हो सकता है को अनुमति दें उन्हें पढ़ें। "

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