यह NodeJS स्थापित करने का एक अच्छा (अभी तक कष्टप्रद) तरीका है।
यदि आप tar tf /usr/save/node-v4.2.1-linux-x64.tar.gz
फ़ाइल पर चलते हैं, तो आपको कुछ इस तरह दिखाई देगा:
node-v4.2.1-linux-x64/
node-v4.2.1-linux-x64/bin/
node-v4.2.1-linux-x64/bin/npm
node-v4.2.1-linux-x64/bin/node
node-v4.2.1-linux-x64/share/
node-v4.2.1-linux-x64/share/man/
node-v4.2.1-linux-x64/share/man/man1/
मूल रूप से, इसका मतलब यह है कि जब आप इस टार आर्काइव को निकालते हैं, तो यह node-v4.2.1-linux-x64
इन सबफ़ोल्डर्स (और नोड इंस्टॉलेशन) के साथ इसके अंदर बुलाए गए फोल्डर में आ जाता है। वास्तव में, आप एक बेहतर विचार प्राप्त करने के लिए इस निष्कर्षण को भी आजमा सकते हैं:
mkdir /tmp/node
cd /tmp/node
tar xvf /usr/save/node-v4.2.1-linux-x64.tar.gz
यदि आप चलते हैं ls
, तो आपको एक node-v4.2.1-linux-x64
फ़ोल्डर दिखाई देगा ।
अब, --strip-components 1
निष्कर्षण प्रक्रिया के लिए कुछ दिलचस्प है। से man tar
:
--strip-components=NUMBER
strip NUMBER leading components from file names on extraction
मूल रूप से, इसका मतलब है कि जब tar
आप अपने संग्रह को निकालने जा रहे हैं, तो यह नाटक करने जा रहा है जैसे कि node-v4.2.1-linux-x64
फ़ोल्डर नहीं है। इसके बजाय, यह निकालने जा रहा है bin/
, share/
और सभी अन्य फ़ोल्डर्स सीधे।
वास्तव में, आप इसे आज़मा सकते हैं:
mkdir /tmp/node
cd /tmp/node
tar xvf /usr/save/node-v4.2.1-linux-x64.tar.gz --strip-components=1
यदि आप चलाते हैं ls
, तो आप देखेंगे कि अब कोई node-v4.2.1-linux-x64
फ़ोल्डर नहीं है। यह सिर्फ है bin/
, include/
, lib/
, और share/
(सभी संयोग में फ़ोल्डर /usr/local/
)।
आपकी दूसरी कमांड ने काम नहीं किया होगा, क्योंकि यह सिर्फ node-v4.2.1-linux-x64
फ़ोल्डर को निकाला होगा /usr/local
(यदि यह बिल्कुल भी चला हो)। यदि आप चलाते हैं ls /usr/local
, तो आप इस फ़ोल्डर को चारों ओर लटका हुआ भी देख सकते हैं। यह बेकार है, के साथ हटाने के लिए स्वतंत्र महसूस हो रहा है rm
। जैसे कि यह बेकार क्यों है, पढ़ते रहें ...
अब जब हमने समझाया कि टार कमांड कैसे काम करता है, हम बता सकते हैं कि यह कैसे स्थापित होता है।
प्रत्येक लिनक्स सिस्टम में $PATH
चर नामक कुछ होता है , जो निर्धारित करता है कि निष्पादन योग्य फाइलें कहां संग्रहीत हैं। इन जगहों के बीच है /usr/local/bin
। जब आप उस बाइनरी को अंदर निकालते हैं /usr/local
(जो मुझे आश्वस्त है कि आपके इंस्टॉलेशन निर्देश क्या कहते हैं), एनओडीजेएस बाइनरी को अर्क के /usr/local/bin/node
अनुसार लिखा जा रहा है। इसी तरह, सभी पुस्तकालयों को स्थानीय पुस्तकालय फ़ोल्डर में जोड़ा जा रहा है और सब कुछ बहुत कुछ बस वहीं जाता है जहां यह है।
अब, कैविएट (और यह क्यों कष्टप्रद है) यह है कि apt
क्या चल रहा है या नहीं समझ पाएंगे या समझ नहीं पाएंगे। आप इसे sudo apt upgrade
या इसी तरह से अपडेट नहीं कर पाएंगे । आपको मैन्युअल रूप से पुराने NodeJS स्थापित करने और फिर साफ करने की आवश्यकता होगी और यदि आप कभी अपग्रेड करना चाहते हैं तो नए में डाल दें।
मैं आपको sudo apt install nodejs-legacy
इसके बजाय बस चलाने की सलाह दूंगा। कम दर्द, और यह स्वचालित रूप से आपके लिए अपडेट होता है।
jodejs
माध्यम से स्थापित कर सकते हैं :।apt
sudo apt install nodejs nodejs-legacy