2010-04-10 12 views
5

मैं निम्नलिखित जवाहरात मेरी environment.rb फ़ाइल में परिभाषित किया है:Unpacking जवाहरात [रेल 2.3.5]

config.gem "authlogic" 
    config.gem "paperclip" 
    config.gem "pauldix-feedzirra", :lib => "feedzirra", :source => "http://gems.github.com" 
    config.gem 'whenever', :lib => false, :source => 'http://gemcutter.org/' 

मैं उन्हें अपने स्थानीय कंप्यूटर पर स्थापित किया है और सब कुछ अच्छी तरह से काम कर रहा है। चूंकि मैं किसी साझा-सर्वर (ड्रीमहोस्ट) पर काम कर रहा हूं, इसलिए मुझे उन रत्नों को काम करने के लिए अनपैक करने की आवश्यकता है (उन्हें इंस्टॉल नहीं कर सकता क्योंकि मैंने उन्हें अपने कंप्यूटर पर काम करने के लिए किया था)।

अपलोड करने से पहले, मैं अपने स्थानीय मशीन पर निम्न भाग गया:

rake gems:unpack 

यह /vender/gems में निम्न फ़ोल्डर बनाया:

authlogic-2.1.3, paperclip-2.3.1.1, pauldix-feedzirra-0.0.18, whenever-0.4.1 

तो ऐसा लगता है कि वे सब वहाँ हो।

जब मैं सर्वर पर rake db:migrate चलाने, हालांकि, मैं इन निम्न त्रुटि मिलती है:

Missing these required gems: 
    pauldix-feedzirra 

किसी कारण से, feedzirra अनपैक किया मणि का पता नहीं है। क्या कोई इस बात का संकेत दे सकता है कि यह क्यों हो रहा है और एक संभावित समाधान?

धन्यवाद!


संपादित करें: धन्यवाद, लेकिन कोड environment.rb में डालने के लिए काम नहीं करता है, और बंडलर अपने सर्वर पर ठीक से स्थापित नहीं होंगे। कोई अन्य सुझाव? envoirment.rb

config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir| 
    File.directory?(lib = "#{dir}/lib") ? lib : dir 
    end 

उत्तर

0

कोशिश इस कोड Following.put यह ठीक एक जवाब नहीं है, लेकिन जब से मैं config.gem ठीक से काम करने से कभी नहीं मिल सकता है, मैं जब भी मैं कर सकते हैं Bundler का उपयोग करें। यह सिर्फ काम करता है और यह रत्नों के बीच परस्पर निर्भरता को अच्छी तरह से संभालता है। यह मैं समझता हूं कि रेल 3 में config.gem को भी बदल देता है।

+0

धन्यवाद, लेकिन यह काम करने के लिए प्रतीत नहीं होता ... –

0

पता नहीं है कि मेरे संकेत उपयोगी हैं, क्योंकि फीडज़िरा को संकलित किया गया है (मुझे लगता है कि कर्ल के खिलाफ)। बेहतर समाधान सामान्य रूप से फीडज़िरा मणि स्थापित करना है (यह स्वयं संकलित होगा) आपके सर्वर पर।


आपने फीडज़िरा मणि स्थापित नहीं किया है, लेकिन पॉडिक्स-फीडज़िरा। शायद आपको फीडज़िरा भी अनपॅक की जरूरत है।

environment.rb में

config.gem feedzirra 

जोड़ सकते हैं और स्थानीय स्तर पर चलाने के

rake gems:install 
rake gems:unpack 

ऐसा लगता है कि feedzirra पैक मणि /vendor/plugins में याद आ रही है की कोशिश करें। देखो कि उन आदेशों के बाद फीडज़िरा की प्रतिलिपि बनाई जाएगी ...

1

मुझे फीडज़िरा के बारे में दो चीजें दिखाई देती हैं: पहला, यह 3 अन्य रत्नों पर निर्भर करता है, और कम से कम उनमें से एक मूल एक्सटेंशन बनाते हैं। और मैं इसे "फीडज़िरा" कहने जा रहा हूं - मैं जिथूब के बीमार विचार वाले ऑटोपैकेजिंग फियास्को का प्रशंसक नहीं हूं।

यदि यह केवल पूर्व था, तो रेक रत्न: अनपैक: निर्भरता चाल चलती है।

हालांकि, कम से कम curb (जो फीडज़िरा पर निर्भर करता है) एक्सटेंशन बना रहा है, और उनको आसानी से अनपॅक नहीं किया जा सकता है। आप या तो उन्हें स्थापित करने के लिए Dreamhost प्राप्त कर सकते हैं (शुभकामनाएं) या उन्हें अपने उपयोगकर्ता की स्थानीय मणि निर्देशिका में स्थापित करें।

कि ऐसा करने के लिए, आप अपने .gemrc अद्यतन करें और सुनिश्चित करें कि यह की तरह एक लाइन भी शामिल करने की आवश्यकता होगी: जब तक अपने तैनाती पर्यावरण जीता स्थापित

: : user_install: सच

फिर घूस जवाहरात आपको निष्पादन योग्य बनाने की सुविधा नहीं देनी चाहिए, इस मामले में आपको कम प्रतिबंधित पैकेज के लिए खोलने की आवश्यकता होगी - मुझे इस तथ्य के बारे में पता है कि ड्रीमहोस्ट पैकेज प्रदान करता है जो विस्तार-रत्नों की अनुमति देगा।

(और वहाँ libcurl का अलग मुद्दे तैनात किया है ...)

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