2011-05-29 12 views
9

तो, मैं capistrano का उपयोग किए बिना एक heroku- जैसे तैनाती को लागू करने की कोशिश कर रहा हूँ। की जाँच करें और मैं Git हुक का उपयोग करने के कोशिश कर रहा हूँ जवाहरात स्थापित करने और में निम्न कमांड में कहें/हुक/उत्तर प्राप्त करते हैं:गिट हुक पोस्ट-प्राप्त से विशिष्ट आरवीएम रत्न का उपयोग कर बंडल इंस्टॉल कैसे करें?

bundle check || bundle install 

लेकिन जब मैं git push चलाने मैं:

remote: hooks/post-receive: line 20: bundle: command not found. 

मैं समझें कि एक हुक शायद गलत वातावरण से कमांड लॉन्च करता है और किसी भी तरह से मुझे हुक से आरवीएम पर्यावरण स्विच करना पड़ता है। मैंने पोस्ट-प्राप्त में आरवीएम उपयोग [email protected] का उपयोग करने की कोशिश की लेकिन इससे मदद नहीं मिली। कोई विचार?

+2

कैसे RVM लक्ष्य सिस्टम पर स्थापित किया गया है? वैश्विक स्तर पर या केवल एक उपयोगकर्ता के लिए? क्या गिट सिस्टम उपयोगकर्ता आरवीएम तक पहुंच है (आरवीएम समूह में भी है)? शायद आपको आरवीएम पर्यावरण को पोस्ट-प्राप्त हुक में पहले स्रोत करना होगा (क्योंकि मुझे लगता है कि हुक सही स्रोत/सेटिंग्स के साथ शेल सत्र नहीं बनाएंगे)। – asaaki

+0

मुझे लगता है कि आपका प्रश्न इस से संबंधित है: http://stackoverflow.com/questions/23979647/bundle-install-not-running-from-my-post-update-hook –

उत्तर

1

शायद यह gist आपकी मदद करेगा!

जिस्ट मालिक के लिए कुडोस!

+0

एक अच्छा सेटअप की तरह दिखता है लेकिन यह ' जहां तक ​​मैं कह सकता हूं, पथ मुद्दे के बारे में कुछ भी नहीं कर सकता। – isaacsloan

6

तुम बस सुनिश्चित करें कि आप हुक के शीर्ष पर उपयोगकर्ता के वातावरण स्रोत बनाने के लिए उदाहरण के लिए हो सकता है:

$ source $HOME/.bash_profile # single user RVM setup 
$ source /etc/profile  # multi user RVM setup 
+2

मुझे एक ही समस्या थी (हालांकि मैं आरवीएम का उपयोग नहीं कर रहा हूं, मेरे पास सिर्फ एक रूबी संस्करण स्थापित है)। आपके द्वारा सुझाए गए समाधान ने मेरे लिए काम नहीं किया, लेकिन मुझे यह पता चला कि समस्या पैथ के साथ थी। उसके लिए धन्यवाद! मेरे लिए क्या काम किया गया था रूबी के बिन फ़ोल्डर को बाद में हुक (जैसे 'पथ = $ पथ:/घर/तैनाती/ruby_2.1.1/bin') की शुरुआत में पथ में शामिल किया गया था। –

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