मैं अपने उबंटू सर्वरों में से एक पर बैठने और चलाने के लिए रूबी-आधारित डिमन लिखने की प्रक्रिया में हूं। मैं इसे स्टार्टअप पर चलाने के लिए चाहूंगा, इसलिए इसके लिए एक अपस्टार्ट जॉब फ़ाइल लिखूंगा। हालांकि, मैं विभिन्न रत्नों का उपयोग करता है के प्रबंधन के लिए बंडलर का इस्तेमाल किया और सर्वर पर तैनाती के बाद ऐसा करने का इरादा किया है:अपनी निर्देशिका के बाहर एक बंडलर-तैनात रूबी ऐप चलाएं?
bundle install --deployment
इस तथाकथित 'तैनाती मोड', जिसके तहत विभिन्न विकल्प हैं में बंडलर डालता है सेट करें और सभी रत्न सिस्टम-व्यापी के बजाय 'विक्रेता' निर्देशिका में स्थापित हैं। हालांकि इस यह चल रहा है, जिससे यह अपने आप निर्देशिका से मार डाला जाना चाहिए, क्योंकि यह वह जगह है जहां जवाहरात अंत के साथ एक समस्या पैदा करता है:
<in the app's dir>
$ ./runmyapp
<it runs>
मैं किसी दूसरे स्थान पर cd
और फिर इसे का उपयोग कर इसे भरा हुआ है चलाने का प्रयास करते हैं पथ, यह विफल रहता है:
<in another directory>
$ /path/to/runmyapp
<it crashes as it can't locate its gems>
मैं बंडलर प्रलेखन के बहुत पढ़ने के बाद इस पूरे परिदृश्य भी कवर नहीं किया जाता? क्या मुझे बस इसके बजाय सिस्टम में रत्न स्थापित करना चाहिए? क्या मुझे कुछ और करना चाहिए?
मैंने सोचा कि 'बंडल निष्पादन' रत्नों में निष्पादन योग्य निष्पादन के लिए था। यही वह रत्न है जो बंडलर ने मेरे ऐप के लिए रत्न के आधार पर स्थापित किया है, लेकिन मेरे अपने नहीं। क्या यह सच नहीं है? –
'बंडल निष्पादन 'आपके रत्न पर्यावरण में रन निष्पादन योग्य के लिए है। Http://gembundler.com/man/bundle-exec.1.html से उद्धरण: 'बंडल-निष्पादन - बंडल के संदर्भ में कमांड निष्पादित करें' – petRUShka
यह इस तरह से काम करता है। लेकिन हो सकता है कि कोई अन्य तरीका – petRUShka