क्यों Ubuntu 16.04 पर नोड 6.x स्थापित करना वास्तव में नोड 4.2.6 स्थापित करता है?


78

ये Ubuntu 16.04 पर नोड स्थापित करने के लिए मेरे कदम थे:

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

जो आधिकारिक निर्देश हैं:

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

ऐसा करने के बाद, nodejs --versionरिटर्न भरना v4.2.6

जैसा कि मैंने इस्तेमाल किया setup_6.xथा मैं मान रहा था कि एक संस्करण जिसकी शुरुआत 6होगी उसे स्थापित किया जाएगा?

मैंने सोचा कि शायद setup_6.xहोना चाहिए setup_6.2.1, लेकिन वह पृष्ठ 404 देता है, देखें:

https://deb.nodesource.com/setup_6.x (वहां एक पृष्ठ है)

https://deb.nodesource.com/setup_6.2.1 (एक 404 रिटर्न)

मैं Ubuntu 16.04 पर नोड के नवीनतम स्थिर संस्करण को कैसे स्थापित करूं?

संपादित करें:

ये परिणाम चलने के बाद हैं sudo apt-get install -y nodejs:

sudo apt-get install -y nodejs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
  libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
  linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
  linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
  linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
  python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_amd64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

संपादित करें:

के परिणाम apt-cache policy nodejs:

apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4
  Candidate: 4.2.6~dfsg-1ubuntu4
  Version table:
 *** 4.2.6~dfsg-1ubuntu4 500
        500 http://au.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status

apt-cache policy nodejsकृपया संपादित करें के रूप में अपने प्रश्न में कृपया के आउटपुट की एक प्रति शामिल करें।
थॉमस वार्ड

इस तथ्य को NodeJS 4.x में खींची गई प्रणाली का अर्थ है कि या तो आपने गलत स्क्रिप्ट्स को चलाया था, या रिपॉजिटरी को सिस्टम में सही ढंग से नहीं जोड़ा गया था - आपके द्वारा लिंक किए गए पृष्ठ में उल्लिखित सटीक चरणों का उपयोग करके, मैं नवीनतम स्थापित करने में सक्षम था as- है, इसलिए कोई भी समस्या हो सकती है - यदि आप apt-cacheडेटा प्रदान कर सकते हैं तो हम देख सकते हैं कि आपका कंप्यूटर रिपॉज में क्या मौजूद है, हम आगे मदद करने में सक्षम हो सकते हैं।
थॉमस वार्ड

@ThomasW। - पोस्ट करने के लिए डेटा जोड़ा गया।
user1063287

1
अपडेट किए गए डेटा के लिए धन्यवाद। ऐसा लगता है कि स्क्रिप्ट ने वह नहीं किया जो किसी भी कारण से करना चाहिए था। मैं विस्तार से बताता हूं कि यह मामला है, और 'मैनुअल' तरीका है कि स्क्रिप्ट क्या कर रही है, नीचे मेरे उत्तर में। आप इसका उपयोग NodeJS से नवीनतम संस्करण प्राप्त करने के लिए कर सकते हैं। यह स्क्रिप्ट की तरह अच्छा और आसान नहीं है, लेकिन यह वास्तव में स्क्रिप्ट अपने मूल में क्या करती है।
थॉमस वार्ड

1
@Pipe शुक्र है कि मेरे जैसे लोग विनाशकारी VMs में स्क्रिप्ट चलाते हैं ताकि हम देख सकें कि यह क्या कर रहा है। इस प्रकार मैंने अपने उत्तर में निर्देश निकाले, इसलिए हम वह कर सकते हैं जो 'स्क्रिप्ट' स्वयं करता है।
थॉमस वार्ड

जवाबों:


136

मूल कारण यह है कि सेटअप स्क्रिप्ट सही तरीके से नहीं चली। इसलिए, ओपी से अपडेट किए गए डेटा के लिए धन्यवाद, जो इसका समर्थन करता है, NodeSource रिपॉजिटरी के डेटा को कभी नहीं देखा गया aptक्योंकि यह स्क्रिप्ट द्वारा ठीक से कॉन्फ़िगर नहीं किया गया था।

लिपि, इसलिए, हो सकता है कि आपका वितरण नहीं मिला हो, या रिपॉजिटरी को कॉन्फ़िगर करते समय यह गड़बड़ हो गई हो, या कोई नेटवर्क व्यवधान हो सकता है, या किसी एक हजार कारणों से यह बाधित हो गया और अपना काम नहीं किया।

तथ्य यह है कि आप संस्करण 4.xको स्थापित करते हुए देख रहे हैं, इसका मतलब है कि स्क्रिप्ट ने अपना काम सही नहीं किया है, इसलिए स्क्रिप्ट जरूरी नहीं है कि गलती हो। इसका मतलब यह है कि हमें इसे कठिन तरीके से करना होगा।

मुझे यह इंगित करना चाहिए: स्क्रिप्ट वास्तव में कोई भी स्थापित नहीं करता है - यह सब करता है डेबियन / उबंटू संस्करण का निर्धारण करता है जो आप पर हैं, और इसके लिए डेटा प्राप्त करने के लिए रिपॉजिटरी को कॉन्फ़िगर करें। इंस्टॉलेशन पार्ट वास्तव में sudo apt-get installआपके द्वारा चलाया गया स्टेप है।


स्क्रिप्ट पर भरोसा करने के बजाय, हम वही कर सकते हैं जो स्क्रिप्ट पुराने-स्कूल के तरीके से कर रही है: हाथ से, खुद से, रिपॉजिटरी कॉन्फ़िगरेशन सेट करें और NodeJS स्थापित करें।

इस कार्य को करने का मैनुअल तरीका यहां है, और यह मूल रूप से स्क्रिप्ट क्या करता है (चरण 4 को छोड़कर, जो यह सुनिश्चित करने के लिए है कि आपको सटीक संस्करण डेटा मिल रहा है):

  1. एक नई फ़ाइल बनाएँ: /etc/apt/sources.list.d/nodesource.list

    आपको यह फ़ाइल बनाने की आवश्यकता होगी sudo, लेकिन जब आप फ़ाइल बनाते हैं, तो इसे इसके अंदर रखें:

    deb https://deb.nodesource.com/node_6.x xenial main
    deb-src https://deb.nodesource.com/node_6.x xenial main
    

    फिर, फ़ाइल को सहेजें। (की जगह node_6.xके साथ node_7.xया node_8.xनए नोड संस्करणों के लिए आदि)

  2. रिपॉजिटरी के लिए नोड्ससोर्स से जीपीजी साइनिंग कुंजी डाउनलोड करें । अन्यथा, आपको NO_PUBKEYत्रुटियां हो सकती हैं apt-get update( wgetइस कमांड में उपयोग यदि curlस्थापित नहीं है, और यदि स्थापित नहीं हैं, तो उनमें से एक को स्थापित करें):

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  3. मैन्युअल रूप से चलाते हैंsudo apt-get update

    यह नोड्स स्रोत रेपो से डेटा को रीफ्रेश करता है ताकि aptपता चल सके कि एक नया संस्करण मौजूद है।

    यदि आपको NO_PUBKEYGPG त्रुटि मिलती है , तो चरण 2 पर वापस जाएं

  4. apt-cache policy nodejsआउटपुट की जाँच करें ।

    यह स्क्रिप्ट द्वारा नहीं किया गया है, लेकिन आप यह सुनिश्चित करना चाहते हैं कि आप एक प्रविष्टि देखें जो आउटपुट में ऐसा कुछ कहता है (हालांकि संस्करण भिन्न हो सकता है यदि आप संस्करण स्ट्रिंग के रूप में 6.x का उपयोग नहीं कर रहे हैं, केवल एक चीज जो हम करते हैं; इस बारे में परवाह है कि नोड्ससोर्स के माध्यम से प्रदान की गई एक नई संस्करण संख्या है):

    Version table:
        6.2.1-1nodesource1~xenial1 500
           500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
        4.2.6~dfsg-1ubuntu4 500
           500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
    

    यदि आप इस तरह की प्रविष्टियाँ नहीं देखते हैं, और केवल 4.2.6 देखते हैं, तो शुरू करें। अन्यथा, आगे बढ़ें।

  5. nodejsबाइनरी स्थापित करें । अब जब आपने पुष्टि की है कि 6.x आपके सिस्टम पर उपलब्ध है, तो आप इसे स्थापित कर सकते हैं:sudo apt-get install nodejs

  6. nodejs --versionअब v6.2.1आउटपुट पर दिखाना या समान होना चाहिए (जब तक कि यह v6.आपके साथ संस्करण 6 पर शुरू होता है तब तक; यह एक उच्च संस्करण संख्या हो सकती है यदि आप 6 से नए संस्करण का उपयोग कर रहे हैं, लेकिन जब तक यह 4.2.6 नहीं है तब तक आप जाने के लिए अच्छा होना चाहिए)।


4
एक टी के लिए इस का पालन किया और सभी बिंदुओं का वर्णन वर्णित व्यवहार से मेल खाता है। आपका बहुत बहुत धन्यवाद।
user1063287

1
@ user1063287 आपका स्वागत है! उम्मीद है कि यह दूसरों की मदद करता है अगर स्क्रिप्ट उनके लिए भी काम नहीं करती है! नवीनतम NodeJS का उपयोग करने का आनंद लें!
थॉमस वार्ड

ओह, तो इसलिए कि मुझे वास्तव में नोड 6 नहीं है जब मैंने सोचा कि मैं करता हूं, और कार्यक्रम शिकायत कर रहे हैं मुझे संस्करण 6 की आवश्यकता है। धन्यवाद!
बिल्ली

धन्यवाद, महान काम किया, मैंने देखा कि मेरे /etc/apt/sources.list.d/nodesource.listमें यह अक्षम होने के बारे में एक टिप्पणी थी - इसमें भी पुराने 0.x संस्करण था और मैं नोड -v के साथ 4.x पर था। अच्छे स्पष्ट निर्देश।
डेविस्टसमवेयर

1
यह देखते हुए कि कर्ल डिफ़ॉल्ट रूप से स्थापित नहीं किया गया है, एक विकल्प wget -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
gerardw

38

मेरे पास नोड का पुराना संस्करण था। मुझे बस इतना करना था कि पुराने को शुद्ध करना था:

sudo apt-get purge nodejs npm

और फिर, v=6संबंधित संस्करणों के लिए 7, 8, 9 के साथ 6 की जगह ( आधिकारिक स्थापना निर्देश देखें ):

v=6
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

(सुनिश्चित करें कि आपने कर्ल स्थापित किया है।)

और अंत में,

sudo apt-get install -y nodejs

बूम, नोड का नवीनतम संस्करण।


4
या, https://deb.nodesource.com/setup_7.xनोड v7 के लिए। आधिकारिक गाइड
ryenus

2
मेरा अभी भी v4.2.6 स्थापित करता है
फ्री नॉकियर

1
@FreekNortier लिनक्स लिनक्स 18 पर मुझे भी यह समस्या आ रही थी। मैं purging और चलाने के बाद संस्करण 11 स्थापित करने में सक्षम था sudo apt-get install python-software-properties। मुझे यह सुझाव टेकेडमिन और कोडबिंड मिला
बेन

4

Ubuntu 16.04.2 संस्करण उपयोगकर्ता के लिए (थॉमस'पोस्ट से थोड़ा सा बदलाव और उसके लिए धन्यवाद)

1. सॉफ्टवेयर अद्यतनकर्ता को खोलें

2.setting

3. अन्य सॉफ्टवेयर

4. सूत्रों का पालन करें, लेकिन बाद में सभी नए स्रोतों के विकल्प का चयन करने के लिए याद रखें:


deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main

5.reload

6।sudo apt-get update

7. apt-cache policy nodejs// नया संस्करण तालिका प्राप्त करने के लिए और जाँच करें कि क्या स्रोत सेटअप किया गया है

8।sudo apt install nodejs

9।nodejs --version

अब यह सब सेट है ......।

चेतावनी: अपडाउन पैनल से अपने nvidia कार्ड के लिए अपने लिनक्स डिफॉल्ट ड्राइवर को न बदलें .... सिस्टम क्रैश हो जाएगा .... !!!


यह v4.2.6 स्थापित करता है।
प्रशांत प्रभाकर सिंह

अच्छा! मेरे लिए काम किया
ejaenv

3

मेरी भी यही समस्या थी। लेकिन मेरे मामले में मुझे अपनी कर्ल कमांड को अपग्रेड करना पड़ा। -S विकल्प के साथ चलकर आप समस्या देख सकते हैं।

curl -s -S https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -

जिसने मुद्दा दिखाया

curl: (1) Protocol "https" not supported or disabled in libcurl
gpg: no valid OpenPGP data found.

इसलिए मैंने इस मुद्दे को निम्नलिखित चलाकर ठीक किया।

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

समस्या का हल
SadeepDarshana

1

@ थोमस वार्ड को जोड़कर उन लोगों को जवाब दें, जो https URL के साथ नोड्ज 8.x स्थापित करने में समस्या का सामना कर रहे हैं या कोड प्रमाणपत्र त्रुटि दिखा कर v4.2.6 स्थापित करता रहता है। नीचे लाइनों के साथ nodesource.list जोड़ने का प्रयास करें

deb http://deb.nodesource.com/node_8.x xenial main
deb-src http://deb.nodesource.com/node_8.x xenial main

अगला कदम: भागो

sudo curl -sL http://deb.nodesource.com/setup_8.x | sudo -E bash -

फिर

sudo apt-get install -y nodejs

यह अद्यतन किए गए नोडज संस्करण और एनपीएम संस्करण को स्थापित करके आपकी समस्या को हल करेगा क्योंकि यह उबंटू 16.04 एलटीएस के लिए हल किया गया था ...


0

मुझे यह लिंक मिला और इससे मुझे Nodejs8____https: //www.ubuntuupdates.org/ppa/nodejs_7.x स्थापित करने में मदद मिली। मुझे उस लाइन में Nojs8https में शामिल होना पड़ा क्योंकि यह कह रहा था कि मुझे दो से अधिक लिंक पोस्ट करने में सक्षम होने के लिए स्तर दो होने की आवश्यकता है। मुझे लगता है कि यादृच्छिक लेकिन जो भी हो।

इसे स्थापित करने से पहले मैंने कमांड चलाया: apt-get remove --purge version नोडज

सत्यापित करने के लिए आपके पास कोई संस्करण स्थापित नहीं है: apt-cached policy नोडज और या ndjs --version

मैं सिर्फ 7 से 8 को बदलकर नोड 8 स्थापित करने में सक्षम था और मैं 8.1.3 संस्करण के साथ समाप्त हुआ। ऐसा करने के लिए मैंने उन कमांड्स को चलाया जो उस पेज पर हैं जिन्हें मैंने ऊपर पोस्ट किया था लेकिन यहाँ कमांड्स वैसे भी हैं:

इसके साथ रिपॉजिटरी कुंजी डाउनलोड करें:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

फिर रिपॉजिटरी सेट करें ::

sudo sh -c "echo deb https://deb.nodesource.com/node_7.x zesty main \ > /etc/apt/sources.list.d/nodesource.list"

sudo apt-get update

sudo apt-get install nodejs

फिर से, यदि आप नोड 8 चाहते हैं, तो आप उस कमांड लाइन में नंबर 7 को 8 और वॉइला में बदल सकते हैं!


0

मैंने संस्करण 8 के लिए https://github.com/nodesource/distributions पर दिए गए निर्देशों का पालन करने का प्रयास किया , लेकिन यह मेरे काम नहीं आया। मैंने सीधे ब्राउज़र में https://deb.nodesource.com/setup_8.x पर जाकर अपने सिस्टम नोडजेश पर एक फ़ाइल में स्क्रिप्ट को कॉपी और पेस्ट किया । फिर मैंने निम्नलिखित आदेशों को निष्पादित किया

sudo -E bash nodejs.sh
apt-cache policy nodejs
sudo apt-get install nodejs

Apt-cache को कमांड को इंस्‍टॉल करने के लिए प्राथमिकता के साथ दो संस्‍करण दिखाई दिए। आप बाद में इंस्‍टॉल फ़ाइल को हटा सकते हैं। सुनिश्चित नहीं है कि स्थानीय रूप से फ़ाइल की प्रतिलिपि बनाने में मदद क्यों की गई क्योंकि कर्ल कमांड ने स्क्रिप्ट को ठीक से दिखाया।


0

अरे दोस्तों अगर आपके पास Ubuntu 16 है तो इस निर्देश को आजमाएँ। यह मेरे लिए पूरी तरह से काम करता है। जब भी इस प्रक्रिया में पूछा जाता है तो अपना खाता पासवर्ड प्रदान करें।

  1. sudo su -c "echo ' deb https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/source.list.d/nodesource.list"

  2. sudo su -c "echo ' deb -src https://deb.nodesource.com/node_8.x xenial main' >> /etc/apt/source.list.d/nodesource.list"

  3. sudo apt-get update

  4. apt-cache policy नोडज की जाँच करें कि सूचीबद्ध संस्करणों में नोड 8 है या नहीं

  5. sudo apt-get install नोडज

  6. नोडज -v स्थापित नोड संस्करण की जाँच करें

यह आपके सिस्टम पर सफलतापूर्वक नोडज संस्करण 8 स्थापित करेगा। यदि आप किसी अन्य संस्करण की इच्छा रखते हैं, तो चरण 1 और 2 पर संस्करण को बदलें यह सफलतापूर्वक काम करेगा।

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