2013-02-22 23 views
15

awesome_print एक बहुत अच्छा मणि की तरह दिखता है, इसलिए मैं इसे आजमा देना चाहता था।काम करने के लिए awesome_print मणि नहीं मिल सकता

मैं अपनी परियोजनाओं में से एक के पास गया और आपने क्या किया:

gem install awesome_print 

और यह एक मणि स्थापित, प्रलेखन स्थापित, आदि

फिर, जबकि मुझे लगता है कि परियोजना में हूँ कहते हैं, मैं के लिए गया था मेरी रेल कंसोल इसे आज़माने के लिए, लेकिन जब मैंने require "awesome_print" किया तो उनकी सहायता फ़ाइल कहती है, मुझे "ऐसी फाइल लोड नहीं हो सकती"।

क्या किसी को यह काम करने के लिए मिला है?

+5

आप जोड़ने की जरूरत यह आपके Gemfile – jvnill

+1

पर "मणि फ़ाइल में जोड़ना" अभी भी जरूरी है हालांकि हम एक मणि इंस्टॉल करते हैं? –

+0

काम किया! धन्यवाद। –

उत्तर

18

gem install आपके कंप्यूटर पर मणि कोड डालेगा, लेकिन जब तक मणि की स्रोत कोड फ़ाइलें आपके लोड पथ पर नहीं हैं, require उन्हें नहीं ढूंढ पाएगी। bundle exec निकटतम Gemfile.lock पर देखता है और आपके लोड पथ पर सूचीबद्ध सभी रत्नों के लिए स्रोत कोड जोड़ता है। रेल प्रारंभिकरण में बंडलर को आपके लिए ऐसा करने में शामिल होना शामिल है।

एक समाधान अपने Gemfile में awesome_print जोड़ने के लिए है। हालांकि, इससे आपके आवेदन पर निर्भरता के रूप में awesome_print हो जाएगा। वैकल्पिक रूप से आप मैन्युअल रूप से रेल सांत्वना शुरू और फिर इसे की आवश्यकता होती है के बाद अपने लोड पथ के लिए awesome_print पुस्तकालय जोड़ सकते हैं: आप RVM उपयोग कर रहे हैं

$ rails c 
> $LOAD_PATH << path/to/awesome_print-x.x.x/lib 
> require 'awesome_print' 
> ap {foo: {bar: {baz: :qux}}} 

, पथ

~/.rvm/rubies/[email protected]_gemset_name/gems/awesome_print-x.x.x/lib 
की तरह कुछ होने की संभावना है
+0

awesome_print काम नहीं करता है यदि आप 'सी: \> ऐप 'या' सी: \> app.request', 'C: \> app.response' और अन्य करते हैं। यह विधि कॉल को प्रभावित नहीं करता है। – Green

+0

मेरे पास मेरे जेमफाइल में बिल्कुल शानदार_प्रिंट है और यह ठीक है, लेकिन मुझे मूल ओपी के समान त्रुटि मिलती है जब मैं इसे फ़ाइल के अंदर की आवश्यकता होती हूं। –

22

इस तरह से अपनी Gemfile के लिए यह करें:

gem 'awesome_print', :require => 'ap' 

मैं इसे विकास समूह में जोड़ने, के बाद से है कि केवल समय मैं इसे की जरूरत है। मणि में कोई अन्य मणि निर्भरता नहीं है, इसलिए मैं नियमित रूप से इसे अपने जेमफाइल में जोड़ता हूं।

इसके अलावा, आपके ~/.irbrc फाइल करने के लिए इन दो पंक्तियों को जोड़ने के अपने डिफ़ॉल्ट पेजर होने की ap स्थापित करने के लिए:

require "awesome_print" 
AwesomePrint.irb! 

ध्यान दें कि आप इस का उपयोग करते हैं, फिर भी, किसी भी परियोजनाओं जहां awesome_print में स्थापित नहीं है जब आप rails c चलाने अपनी Gemfile इस त्रुटि को बढ़ा देंगे:

cannot load such file -- awesome_print 

और जो कुछ भी आप अपने ~/.irbrc फ़ाइल में हो सकता है पर निर्भर करता है, इस तरह के अपने शीघ्र अप खिलवाड़ के रूप में अन्य दुष्प्रभाव, हो सकता है। इन से बचने के लिए, बस उस फ़ाइल के बहुत अंत में दो लाइनें जोड़ें।

6

इसे स्थापित:

$ gem install awesome_print 

आप में शामिल GemFile, अगर आप चाहते हैं:

require 'awesome_print' 
AwesomePrint.irb! 

पुनः आरंभ:

gem 'awesome_print', :require => 'ap' 

फ़ाइल ~/.irbrc में यह पंक्ति जोड़ आपका खोल

सिर्फ एक नोट: मैंने यह किया और यह तुरंत काम नहीं किया, शायद कंप्यूटर को पुनरारंभ करने की आवश्यकता है ... या मुझे बस सभी खोल टैब बंद करने और टर्मिनल को फिर से खोलने की आवश्यकता है!

$ gem install awesome_print 

मैं एक मुद्दा जहां इसे सफलतापूर्वक स्थापित करने गया था में सही निर्देशिका में नहीं चल रहा था, लेकिन यह:

1

आप अपने Gemfile में यह बिना इसे स्थापित करने के लिए देख रहे हैं, यह है कि यह कैसे करना है ।

उस मामले में सिर्फ अपने .bashrc में रखते, इस लोड पथ सेट हो जाएगा:

export PATH="/home/user/.gem/ruby/2.3.0/bin:$PATH" 
PATH="`ruby -e 'puts Gem.user_dir'`/bin:$PATH" 

माणिक के संस्करण आप के साथ काम कर रहे हैं के साथ बदलें 2.3.0
अपने उपयोगकर्ता नाम साथ उपयोगकर्ता बदलने के लिए या यदि आप आवारा उपयोग कर रहे हैं तो आवारा

के साथ बदलें अपने .bashrc लोड करने या, परिवर्तन फिर से लोड करने तो मणि को फिर से स्थापित टर्मिनल से बाहर निकलें।

-1

एक बात है कि मेरे लिए काम किया awesome_print '' की आवश्यकता होती है 'प्रवेश करने के बाद किया गया था, एपी आदेश', मैं डाल '

उदाहरण के लिए:

एपी Event.all

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