डेबियन जेसी पर नवीनतम NodeJS कैसे स्थापित करें?


29

मैंने सिर्फ अनुशंसित दृष्टिकोण का उपयोग करके डेबियन जेसी पर NodeJS और NPM स्थापित किया है:

apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

हालाँकि यह एक बहुत पुराना संस्करण है (नोड v0.10.38 और npm 1.4.28)।

नए संस्करणों को स्थापित करने के सबसे आसान तरीके पर कोई सुझाव, जैसे, वर्तमान में नोड v0.12.4 है और npm 2.7.4 है? स्रोत से स्थापित करना मेरा एकमात्र तरीका है?

जवाबों:


48

Node.js के लिए एक सेटअप स्क्रिप्ट उपलब्ध है ( इंस्टॉलेशन insctructions देखें ):

# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

एक छोटी सी टिप्पणी: मेरी विनम्र राय में, यह एक बहुत बुरा विचार है curl | sudo bash। आप एक स्क्रिप्ट चला रहे हैं जिसे आपने रूट विशेषाधिकारों के साथ नहीं जांचा था। यह हमेशा बेहतर स्क्रिप्ट डाउनलोड करने के लिए, इसके माध्यम से पढ़ा है, दुर्भावनापूर्ण आदेशों के लिए जाँच है, और के बाद कि , इसे चलाने के। लेकिन यह सिर्फ मेरे दो सेंट है।

मैन्युअल इंस्टॉलेशन प्रक्रिया के बाद कुछ चरणों में इंस्टॉलेशन को मैन्युअल रूप से प्राप्त किया जा सकता है :

  • पुराना पीपीए निकालें (यदि लागू हो)
  • नोड रेपो ssh कुंजी जोड़ें
  • करने के लिए नोड रेपो जोड़ें sources.list
  • पैकेज सूची को अपडेट करें और पसंदीदा एप टूल का उपयोग करके इंस्टॉल करें

5
ops, इसका इस्तेमाल करते हैं, लेकिन अब वहाँ हैं setup_4.x... फिर से कर्ल और उपयुक्त हो?
पीटर क्रस

3
जैसा कि आपको नवीनतम, वास्तविक संस्करण की आवश्यकता हो सकती है, मैं उनकी साइट पर जाने की सलाह देता हूं: github.com/nodesource/distributions
सीनियरप्रिचर

यदि आप उसी स्रोत से सुरक्षित कनेक्शन के माध्यम से आते हैं, जिस पर आप बायनेरिज़ से चल रहे हैं, तो आप इस पर भरोसा क्यों नहीं करेंगे

@ acidzombie24 सही है, लेकिन भले ही आप बुराई न होने के लिए कोड पर भरोसा करते हैं, लेकिन स्क्रिप्ट में एक गलती, या एक पुरानी स्क्रिप्ट, या आपके कॉन्फ़िगरेशन के थोड़ा सा विदेशी होने की संभावना हमेशा होती है। या हो सकता है कि आप अपने स्रोतों को ऑर्डर करना पसंद करते हैं। किसी तरह से स्क्रिप्ट करें और स्क्रिप्ट अन्यथा करता है। वैसे भी, मुझे भी लगता है कि यह बुरा अभ्यास है और शुरुआती (मैं ओपी पर लक्ष्य नहीं कर रहा हूं लेकिन सामान्य रूप से) ऐसा करने के लिए प्रोत्साहित नहीं किया जाना चाहिए। खासकर जब मैन्युअल रूप से कार्रवाई करना स्क्रिप्ट की जांच करने की तुलना में बहुत अधिक सीधा है।
Jérôme

12

आप अपनी वेबसाइट से नोड ( 4.2.2) का नवीनतम संस्करण डाउनलोड कर सकते हैं , इसके बजाय पैकेज डेबियन प्रदान करता है ( ) का उपयोग करें । इसका मतलब यह भी होगा कि आपके पास एनपीएम का अपडेटेड वर्जन है। मुझे जेसी पर ऐसा करने में कोई समस्या नहीं हुई।0.12

.tar.gzउनकी वेबसाइट से और cdउस dir में डाउनलोड करें (फ़ाइल का नाम स्पष्ट रूप से मेरे डाउनलोड के लिए विशिष्ट है):

$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64

यदि आपके पास बिन फ़ोल्डर में एक नज़र है तो आप नोड और एनपीएम के लिए आवश्यक बायनेरिज़ देखेंगे:

$ ls node-v4.2.2-linux-x64/bin 
node  npm

अब मैं कुछ ट्रैक करने के लिए आसान रखने के लिए फ़ोल्डर का नाम बदल देंगे

$ mv node-v4.2.2-linux-x64 nodejs

यदि आप नोड को अद्यतन रखने में रुचि नहीं रखते हैं, तो बस इस फ़ोल्डर को अपने बिन स्थानों (मैं उपयोग करें ~/bin) में से एक में स्थानांतरित करें , और अगले चरण को छोड़ दें।

यदि आप अपने नोड संस्करण को आसानी से अपडेट करने में सक्षम होना चाहते हैं, तो nodejsफ़ोल्डर को कहीं ले जाएं आप इसे ट्रैक कर सकते हैं ( ~/nodejsशायद)। फिर आप अपने बिन स्थानों में से एक के लिए एक सिमलिंक बनाना चाहते हैं ताकि बायनेरी का उपयोग आपके शेल से पूरा पथ लिखे बिना किया जा सके।

मान लें कि आप अपने होम डायरेक्टरी में नोडज फोल्डर डाल सकते हैं, जो अब आप कर सकते हैं:

$ ln -s ~/nodejs ~/bin/nodejs

जाहिर है, यह आपके इच्छित किसी भी बिन स्थान पर जा सकता है। मैंने अपनी होम डाइरेक्टरी का उपयोग किया है इसलिए यह केवल मेरे लिए उपलब्ध है, लेकिन आप भी आसानी से कर सकते हैं:

$ ln -s ~/nodejs /usr/local/bin/nodejs

यह एक पैदा करेगा सिमलिंक से NodeJS बिन निर्देशिका (जिसका अर्थ है कि किसी भी अद्यतन निर्देशिका के लिए अपने घर में फ़ोल्डर के माध्यम से कहीं फ़ोल्डर में परिलक्षित होते हैं करने के लिए अपने घर निर्देशिका में फ़ोल्डर प्रतीकात्मक कड़ी )। अब आप यह सुनिश्चित करना चाहते हैं कि नोड फ़ोल्डर निर्देशिका वाला बिन फ़ोल्डर आपके $PATHपर्यावरण चर में है , इसलिए ~/.profileअपने घर निर्देशिका में फ़ाइल खोलें । आप इसे उस फ़ाइल के निचले भाग में जोड़ना चाहते हैं (यदि आपने उपयोग नहीं किया है तो पथ बदल रहा है ~/bin/):

# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
    PATH="$HOME/bin/nodejs/bin:$PATH"
fi

यह जाँच करेगा कि क्या निर्देशिका मौजूद है, और यदि यह है, तो इसे अपने पेट में जोड़ें। मैं उपयोग करता हूं zshइसलिए मैंने अभी एक लाइन अपडेट की है ~/.zshrc:

export PATH="$HOME/bin/nodejs/bin:$PATH"

अपना टर्मिनल बंद करें और फिर से खोलें, फिर जांच के लिए निम्नलिखित टाइप करें:

$ node -v
v4.2.2

$ npm -v
2.14.7

सिम्पल लिंक बनाकर, इसका अर्थ है कि भविष्य में, आप .tar.gzNodejs वेबसाइट से एक नया डाउनलोड कर सकते हैं , इसे निकाल सकते हैं ~/nodejsऔर आपके $PATH पर्यावरण चर में आपके लिए उपलब्ध बायनेरिज़ स्वचालित रूप से अपडेट हो जाते हैं।


इसने मेरे लिए काम किया क्योंकि इसने एक काम करने वाली एनपीएम भी दी थी।
Artfulrobot

4

मेरे मामले में, मैंने अनुशंसित शेल कमांड निष्पादित किया:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

समस्या यह थी कि बैश स्क्रिप्ट ने मेरे एपीटी को अपडेट नहीं किया था, इसलिए उपयुक्त-डिबेट को पुराने स्तर पर स्थापित करें debian.org स्रोत से पुराना डेबियन पैकेज और nodesource.com से नहीं

सत्यापित करें कि यह समस्या है apt-cache policy nodejs। आपको कुछ देखना चाहिए Candidate: 6.10.2-1nodesource1~jessie1और क्या नहींCandidate: 0.10.29~dfsg-2

नोड्स स्रोत पर पिन प्राथमिकता सेट करने के लिए, इस सामग्री के साथ /etc/apt/preferences.d/कॉल की गई nodeया जो भी हो उसमें एक फ़ाइल जोड़ें :

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

बचाओ और भागो apt-get cache update। फिर कोशिश apt-cache policy nodejsकरें। यदि उम्मीदवार सही दिखता है, तो सामान्य रूप से इंस्टॉल करेंapt-get install nodejs


apt-get cache updateलौटा E: Invalid operation cacheतो मैं भागा sudo aptitude update
user394

2

आप पैकेज मैनेजर के साथ नवीनतम संस्करण को स्थापित करने के लिए आधिकारिक नोड.जेएस प्रलेखन का पालन कर सकते हैं ।

Node.js v6:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

Node.js v7:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

बाद के भाग में, मेरे सिस्टम पर नोड v7.5.0 और npm v4.1.2 स्थापित किया गया था। दोनों nodeऔर nodejsउपनाम स्वचालित रूप से नोड के लिए सक्षम थे।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.