CentOS 7 पर Node.js का सही नया संस्करण क्यों स्थापित नहीं होगा?


12

नोट: यह आंशिक रूप से हल है, लेकिन थोड़ा और ध्यान देने की आवश्यकता है। ओपी के नीचे नोट देखें, और @ डिजिसेक का आंशिक उत्तर।

मैं CentOS 7 पर Node.js स्थापित करने का प्रयास कर रहा हूं, लेकिन निम्नलिखित कमांड नवीनतम संस्करण को स्थापित करने में विफल हो रहे हैं। CentOS 7 पर Node.js के नवीनतम संस्करण को स्थापित करने के लिए मुझे नीचे दिए गए कोड में क्या बदलना होगा?

मैं टाइप करके शुरू करता हूं node --versionजिसके परिणाम हैं v0.12.7। यह स्पष्ट रूप से एक पुराना संस्करण है क्योंकि nodejs.orgकहते हैं कि v5.6.0नवीनतम स्थिर संस्करण है।

तो फिर मैं नोड का नवीनतम संस्करण प्राप्त करने के लिए निम्नलिखित टाइप करता हूं। js:

cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -

टर्मिनल प्रिंट करता है कि मुझे नोड.जेएस के पुराने संस्करण को हटाने के लिए निम्नलिखित टाइप करना चाहिए, इसलिए मैं निम्नलिखित टाइप करता हूं:

yum remove -y nodejs npm

टर्मिनल नोड के नवीनतम संस्करण को स्थापित करने के लिए निम्नलिखित को टाइप करने के लिए भी कहता है। इसलिए, मैं निम्नलिखित टाइप करता हूं:

yum install -y nodejs

लेकिन फिर मैं node --versionफिर से टाइप करता हूं , और टर्मिनल v0.12.7फिर से जवाब देता है, यह दिखाते हुए कि पूर्ववर्ती कमांड, बस पुराने पुराने संस्करण को फिर से स्थापित करता है।

तो CentOS 7 मशीन पर नोड के नवीनतम स्थिर संस्करण को स्थापित करने के लिए मुझे क्या करने की आवश्यकता है?


ONGOING EFFORTS:


@ डिजिसेक के सुझाव के अनुसार, मैंने उपरोक्त आदेशों को फिर से चलाया, लेकिन इस बार सभी आउटपुट को निम्न पाठ में दर्ज किया। कृपया ध्यान दें कि अनुक्रम अब थोड़ा अलग है कि मैं इसे फिर से चला रहा हूं, लेकिन परिणाम निम्नानुसार है:

[root@localhost ~]# node --version
v0.12.7
[root@localhost ~]# cd /tmp
[root@localhost tmp]# curl -sL https://rpm.nodesource.com/setup | bash -

## Installing the NodeSource Node.js 0.10 repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.ePYEdVWXQH' 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.ePYEdVWXQH'

## Cleaning up...

+ rm -f '/tmp/tmp.ePYEdVWXQH'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 0.10 and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm                                                                                                             | 4.5 MB  00:00:09     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Installed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]#   

फिर, @ डिजिसेक के उत्तर के अनुसार , मैंने अगली बार निम्नलिखित कोशिश की, लेकिन परिणाम अभी भी उचित संस्करण को स्थापित करने में विफल हो रहा है , जैसा कि आप निम्नलिखित टर्मिनल आउटपुट से देख सकते हैं:

[root@localhost tmp]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

## Installing the NodeSource Node.js 5.x repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.NEM1bxM9WB' 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.NEM1bxM9WB'

## Cleaning up...

+ rm -f '/tmp/tmp.NEM1bxM9WB'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 5.x and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7 FAILED                                          
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
No Presto metadata available for nodesource  
nodejs-0.10.42-1nodesource.el7 FAILED    
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]# 

फिर मैंने उपरोक्त त्रुटि लॉग द्वारा संदर्भित ज्ञानकोष लेख का दौरा किया , लेकिन पाया कि मैं पूर्ण लेख तक नहीं पहुंच सकता क्योंकि मैं एक रेड हैड ग्राहक नहीं था।


आंशिक समाधान:


@Digisec ने नए संस्करण को स्थापित करने का तरीका दिखाते हुए इसे आंशिक रूप से हल किया है, लेकिन हम अभी भी पुराने संस्करण को निकालने में सक्षम नहीं हैं, जो आगे चल रहे संघर्षों के जोखिम को छोड़ देगा। पुराने संस्करण को निकालने के लिए क्या कदम उठाए जाने की आवश्यकता है ताकि नई स्थापना साफ और पूरी हो सके?

मुझे इस लिंक पर पुराने संस्करण v0.12.7 के लिए टार url मिला । और @ डिजिसेक 'ने इस अन्य लिंक कोmake uninstall पढ़ने का सुझाव दिया , जो कमांड का उपयोग करने का सुझाव देता हैमुझे समझ में आता है कि पुराने v0.12.7 को हटाने के लिए टर्मिनल में टाइप करने के लिए केवल पांच या दस कमांड हो सकते हैं और नोडज के नए संस्करण को फिर से स्थापित कर सकते हैं। आवश्यक आदेश क्या हैं?

मुझे लगता है कि CentOS 7 मशीन पर तीन टार फाइल्स मिली हैं जो निम्‍न टर्मिनल कमांडों का उपयोग करके नोडज v0.12.7 से संबंधित हैं:

[root@localhost ~]# cd /
[root@localhost /]# find . -type f -iname "*.tar"
find: ‘./run/user/1000/gvfs’: Permission denied
./opt/node-v0.12.7/deps/npm/node_modules/tar/test/dir-normalization.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore-2.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore-2.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/node_modules/tar/test/dir-normalization.tar
[root@localhost /]# 

ध्यान दें कि एक अतिरिक्त तीन टार फाइलें हैं, node_modulesजिनके संबंध v0.12.7स्पष्ट नहीं हैं।

मशीन से v0.12.7सभी v0.12.7संबंधित टार फ़ाइलों को सुरक्षित रूप से अनइंस्टॉल करने और हटाने के लिए मैं क्या विशिष्ट आदेश चलाता हूं ?


सभी आउटपुट को पोस्ट करना एक अच्छा विचार होगा। यह देखने में मदद करेगा कि क्या हो रहा है जो आपकी बेहतर मदद कर सकता है।
डिजीसेक

@Digisec मैंने आदेशों को फिर से चलाया और फिर पूर्ण आउटपुट को ओपी में जोड़ा, जैसा आपने अनुरोध किया था। क्या मैं समस्या को अलग करने में मदद के लिए कुछ और कर सकता हूं?
3

FWIW अब आप NodeJS के पुराने संस्करण की स्थापना रद्द कर सकते हैं yum remove -y nodejs
अवजुला

जवाबों:


7

मैंने अभी उस लिंक को चेक किया है जो आपको इससे मिला है। आप विशेष रूप से, संस्करण 0.10, स्थापित कर रहे हैं , या कम से कम कोशिश कर रहे हैं, लेकिन आपके पास रेपो में एक नया संस्करण है जो स्थापित किया जा रहा है। आपको नोड v5 के लिए सेटअप का पालन करना होगा।

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

पुनश्च : भविष्य के संदर्भ के लिए, सुनिश्चित करें कि आप विशेष रूप से कमांड को रूट के रूप में चलाते समय साइटों को बहुत ध्यान से पढ़ें ।

संपादित करें: ठीक है, ऐसा लगता है कि आपने रेपो को सही ढंग से जोड़ा है। रेपो में देखते हुए, आपके पैकेज वहाँ हैं, लेकिन सिस्टम गलत संस्करण की तलाश कर रहा है। इस बिंदु पर, मैं सुझाव दूंगा।

yum clean all && yum update

यह कैश्ड रेपो को साफ करेगा और रिमोट से हड़प जाएगा।

उत्तर: हमने जो काम किया है chat, उसके बाद यहाँ आपके लिए सही उत्तर है। nodejs v5ठीक स्थापित। आपने पहले nodejs v0.12मैन्युअल रूप से संकलित किया था , जो बाइनरी डिस्ट्रोस पर एक अच्छा विचार नहीं है, क्योंकि आप इस स्थिति में समाप्त हो जाएंगे।

which node

लौटा हुआ

/usr/local/bin/node

जबकि

/usr/bin/node

का सही उत्तर दिया v5.x

इस बिंदु पर आपके पास इसे ठीक करने के लिए कई विकल्प हैं, लेकिन मैं 2 की सिफारिश करूंगा।

  • विकल्प 1 : यह आसान तरीका है। आप अपना संपादन कर सकते हैं .bashrcऔर एक aliasबिंदु जोड़ सकते हैं node -> /usr/bin/node। यह जोड़ने के रूप में सरल है alias node="/usr/bin/node"। यह हर बार सही संस्करण कहेगा लेकिन मैं इस बात की गारंटी नहीं दे सकता कि यह पुस्तकालयों के साथ भविष्य में टकराव का कारण नहीं बनेगा।
  • विकल्प 2 : यह कठिन तरीका है, लेकिन यह इसे ठीक कर देगा। सबसे पहले, yumनोडज के साथ शुद्ध करें जो सिस्टम पर स्थापित है। दूसरा, आपके द्वारा संकलित संस्करण के लिए टारबॉल प्राप्त करें, इसे अनटार करें ./configureऔर इसे अनइंस्टॉल करें। यह कदम, आप आसानी से ऑनलाइन पा सकते हैं। अंत में, के nodejsमाध्यम से पुनः स्थापित करें yum, और यह आपकी समस्या को ठीक करना चाहिए।

इस पर ध्यान देने के लिए धन्यवाद, लेकिन यह अभी भी पूरी तरह से समस्या को ठीक नहीं कर रहा है। कृपया अतिरिक्त टर्मिनल आउटपुट देखें जो मैंने ओपी के अंत में जोड़ा था जो आपके सुझाव की कोशिश करने के परिणामों का दस्तावेजीकरण कर रहा था। मेरे द्वारा और क्या आजमाया जा सकता है?
कोडमेड

@CodeMed मैंने उत्तर अपडेट किया और चैट पर जाना बेहतर होगा।
दिग्विजय

इससे समस्या का समाधान नहीं हुआ। यदि आप अभी भी चैट करने के लिए तैयार हैं, तो मैंने निम्नलिखित कमरा बनाया: chat.stackexchange.com/rooms/35670/…
CodeMed

@CodeMed अपने मुद्दे को ठीक करने के साथ अच्छी किस्मत।
दिग्विजय

क्या आप अपने विकल्प 2 पर विस्तार करने के लिए तैयार हैं? या मुझे एक अलग प्रश्न पोस्ट करना चाहिए?
कोडएमड

4

मैंने क्या किया:

rm -f /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_7.x | दे घुमा के -
yum install -y नोडज
नोड - फैलाव

और मुझे मिल गया:

v7.2.0

धन्यवाद! यही एकमात्र समाधान था जिसने मेरी मदद की।
626

3

CentOS 7.2, NodeJS 6.7.0 ( https://nodejs.org/download/release/v6.7.0/ )। मैन्युअल रूप से स्थापित करें

wget https://nodejs.org/download/release/v6.7.0/node-v6.7.0.tar.gz
./configure
make
make install

स्थापना रद्द करने के लिए make uninstall


1

मैंने उसी NodeSource RepoInstaller से नोड इंस्टॉल करने की कोशिश की । सक्षम nodesourceरेपो द्वारा मेरी समस्या के समाधान के लिए । बदलने के enabled=0लिए enabled=1और सभी को काम करना चाहिए।

[root@web ~]# cat /etc/yum.repos.d/nodesource-el.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_6.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL

0

मुझे कुछ परेशानी भी हो रही थी कि npm और नोडज के नए संस्करण CentOS 7 पर स्थापित हो रहे हैं।

मैंने नोडज साइट पर निर्देशों का पालन किया और फिर एनपीएम स्थापित करने का प्रयास किया। यह समस्या बन गई (ईपीएल ईपीईएल से स्थापित हो रही थी)। Nodesource रिपॉजिटरी npm के लिए अलग-अलग पैकेज प्रदान नहीं करता है जैसा कि EPEL के लिए मामला है। इसके बजाय सब कुछ एक पैकेज 'नोडज' के अंदर है। एक बार जब आप नोड्स स्रोत से नोडज स्थापित करते हैं तो आपने अब स्वचालित रूप से एनपीएम स्थापित किया है और अद्यतन संस्करण पर जाने के लिए तैयार हैं।


0

मैं उसी समस्या से जूझ रहा था, न yum clean allही rm -f /etc/yum.repos.d/nodesource*मदद की। तब मैंने पाया कि यम ने नोड स्थापित करने के लिए एपेल रिपॉजिटरी का उपयोग किया था इसलिए मैंने इसे अस्थायी रूप से ( /etc/yum.repos.d/epel.repoसेट में enabled=0) और उसके बाद अक्षम कर दिया

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs

0

मैंने भी इसी मुद्दे का सामना किया है।

समाधान: 1. /tmpसभी फ़ाइलों और फ़ोल्डरों को हटाने के लिए स्थान पर जाएं ।

cd /tmp
rm -rf *

2. अब आप NodeJs को स्थापित करने के लिए नीचे दिए गए कमांड का उपयोग कर सकते हैं

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
sudo yum install -y nodejs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.