2013-05-23 2 views
20

क्या वह आदेश है जिसमें आप अपने रत्नों को सूचीबद्ध करते हैं? क्या ये दो ब्लॉक बराबर हैं?क्या आपके जेमफाइल में रत्नों का क्रम एक फर्क पड़ता है?

gem 'carrierwave' 
gem 'rmagick' 

और

gem 'rmagick' 
gem 'carrierwave' 
+0

ठीक है, यह एक टिप्पणी के लिए लंबे समय तक घुमाया गया है, लेकिन कैरियरवेव मॉडल को सही ढंग से छवि यूआरएल नहीं लिख रहा है। मैं सब कुछ हटाने और फिर से शुरू करने जा रहा हूँ। अगर यह काम नहीं करता है, तो मैं अधिक जानकारी के साथ आऊंगा। – dee

+0

क्या आप 'कोहरे' भंडारण का उपयोग कर रहे हैं? फ़ाइल संग्रहण यूआरएल को स्टोर नहीं करना चाहिए, लेकिन फ़ाइल का नाम। यूआरएल कॉन्फ़िगरेशन के आधार पर उत्पन्न होता है। – PinnyM

+0

मैं 'धुंध' का उपयोग कर रहा था। वास्तव में, जब सबकुछ टूट गया। लेकिन 'object.image => nil' वैसे भी, इसलिए कुछ भी नहीं बचाया जा रहा था। – dee

उत्तर

6

Bundler आदेश है कि आप उन्हें * सूची से मणि निर्भरता लोड नहीं करता है, लेकिन यह इस मानदंड का उपयोग कर स्रोत प्राथमिकता के आधार पर हो जाता है:

  1. स्पष्ट पथ या गिट विकल्प एक मणि निर्भरता में संलग्न होते हैं, उदाहरण के लिए:

    gem 'some-gem', github: 'somebody/some-gem' 
    
  2. स्पष्ट जवाहरात कि अन्यथा अन्य मणि dependecies से परोक्ष आवश्यक हैं, जैसे कि, gem 'actionmailer' मणि परोक्ष द्वारा gem 'rails'

  3. की आवश्यकता है के लिए निर्भरता परिभाषित आप कई स्रोतों यह पहली बार के लिए पिछले से खोज करेंगे जोड़ा है।

http://gembundler.com/v1.3/man/gemfile.5.html#SOURCE-PRIORITY


* संपादित देखें: मैट के जवाब के अनुसार, तुम क्या करने के क्रम कोशिश कर रहे हैं क्या (या क्या जवाहरात आप लोड कर रहे हैं) सकता पर निर्भर करता है मामला। Even with bundler your gem order can be significant देखें।

+0

आप एक मणि के लिए जाँच किए गए स्रोतों के आदेश के बारे में बात कर रहे हैं, लेकिन मेरा मानना ​​है कि सवाल यह था कि एक जेमफाइल मामलों में मणि बयान के आदेश - और मुझे विश्वास है कि जवाब हां है। – odigity

11

जब आप Bundle.require (जो रेल करता है) का उपयोग करते हैं, तो जेमफाइल में दिखाई देने वाले क्रम में रत्न की आवश्यकता होती है। हमेशा ऐसा नहीं था, लेकिन has been this way for a while

चूंकि कैरियरवेव को इसकी आवश्यकता होने पर स्पष्ट रूप से RMagick की आवश्यकता होती है, मुझे नहीं लगता कि इससे आपके मामले में कोई फर्क पड़ता है; लेकिन कड़ाई से दो ब्लॉक बोलने के बराबर नहीं हैं।

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