जड़ के बिना Node.js / npm / संगीतकार

एक पुराने ब्लॉग पोस्ट में मैंने वर्णन किया कि हेरोकू का उपयोग करके मुफ्त में Node.js की मेजबानी कैसे करें। अब मैं आपको एक तरीका दिखाऊंगा कि आप कोड के कुछ लाइनों के साथ रूट अधिकारों के बिना किसी भी अन्य साझा होस्ट पर Node.js , npm और संगीतकार कैसे स्थापित कर सकते हैं। इसके साथ आप पैकेज स्थापित कर सकते हैं, Vue.js अनुप्रयोगों को तैनात कर सकते हैं या बस Express.js सर्वर शुरू कर सकते हैं। हम हमेशा उपयोगकर्ता निर्देशिका में काम करते हैं और एनवीएम - नोड पैकेज मैनेजर का उपयोग करते हैं।


यह पहले से सुनिश्चित करना महत्वपूर्ण है कि संगीतकार और नोड उपलब्ध नहीं हैं और यह है कि निम्नलिखित लाइनें कोई आउटपुट उत्पन्न नहीं करती हैं:

16c389ff1cdd9380cc5f9244775eb6c8

सबसे पहले, हम अस्थायी पर्यावरण चर परिभाषित करते हैं जिनकी हमें बाद में आवश्यकता होगी। ऐसा करने के लिए, हम उपयोगकर्ता की होम डायरेक्टरी (आमतौर पर ~/, कुछ साझा होस्ट पर /www/htdocs/xxxxxxx/ भी) और वांछित PHP संस्करण (उदाहरण के लिए, All-Inkl प्रदाता के साथ /usr/bin/php72, DomainFactory के साथ /usr/local/bin/php7-72LATEST-CLI) निर्दिष्ट करते हैं।:

16c389ff1cdd9380cc5f9244775eb6c8

अब हम यह सुनिश्चित करेंगे कि कंसोल पर PHP अपने नवीनतम संस्करण में चल रहा है। इसके लिए, हम होम डायरेक्टरी में एक नया फ़ोल्डर बनाएंगे, एक सिंबॉलिक लिंक बनाएंगे और उस डायरेक्टरी को PATH एनवायरनमेंट वेरिएबल के प्रारंभ में जोड़ेंगे।

16c389ff1cdd9380cc5f9244775eb6c8

अब हम इंस्टॉलेशन स्क्रिप्ट को डाउनलोड, जाँच और निष्पादित करके वैश्विक संगीतकार को स्थापित करते हैं, फिर उपयोगकर्ता निर्देशिका में संगीतकार.फार को भी रखते हैं और फिर से एक सिमलिंक बनाते हैं:

16c389ff1cdd9380cc5f9244775eb6c8

हम Node.js को इंस्टॉल करने के लिए nvm का उपयोग करते हैं। यह एक बैश स्क्रिप्ट है जिसे Node के विभिन्न संस्करणों के बीच आसानी से स्विच करने के लिए डिज़ाइन किया गया है। यहाँ, हम इसकी उस विशेषता का लाभ उठा रहे हैं जिसके तहत यह रूट एक्सेस की आवश्यकता के बिना Node.js को इंस्टॉल करता है।:

16c389ff1cdd9380cc5f9244775eb6c8

मेरे लिए .bashrc में एक छोटा सुधार आवश्यक था:

16c389ff1cdd9380cc5f9244775eb6c8

अब हम Node.js के वर्तमान स्थिर संस्करण को स्थापित और सक्रिय कर सकते हैं:

16c389ff1cdd9380cc5f9244775eb6c8

Nvm की मदद से हम आसानी से वर्जन भी स्विच कर सकते हैं।

16c389ff1cdd9380cc5f9244775eb6c8

मैंने कई जर्मन शेयर्ड होस्टिंग प्रदाताओं के साथ इन सभी चरणों को बिना किसी समस्या के पूरा किया। कुछ होस्ट को सिंबॉलिक लिंक के साथ समस्या होती है, लेकिन इसे एलियास परिभाषाओं का उपयोग करके हल किया जा सकता है। उदाहरण के लिए, निम्नलिखित .bashrc फ़ाइल DomainFactory के लिए काम करती है।:

16c389ff1cdd9380cc5f9244775eb6c8

वर्चुअल/शेयर्ड एनवायरनमेंट में `/proc/stat` को एक्सेस करने में भी समस्याएँ आती हैं, जिसके कारण उदाहरण के लिए, Node फ़ंक्शन `os.cpus()` सही कोर संख्या के बजाय `undefined` लौटाता है । इससे npm पैकेज इंस्टॉल करते समय "Cannot read property 'length' of undefined" जैसे त्रुटि संदेश आते हैं। मैंने इस समस्या को Node.js के एक हालिया संस्करण (जैसे 11.15.0) का उपयोग करके हल कर लिया, जिसमें इस समस्या का समाधान किया गया है

वापस