CentOS 7에 올바른 새 버전의 Node.js가 설치되지 않는 이유는 무엇입니까?


12

참고 : 이것은 부분적으로 해결되었지만 조금 더주의를 기울여야합니다. OP 하단의 메모 및 @Digisec의 부분 답변을 참조하십시오.

CentOS 7에서 Node.js를 설정하려고하는데 다음 명령으로 최신 버전을 설치하지 못했습니다. CentOS 7에 최신 버전의 Node.js를 설치하려면 아래 코드를 어떻게 변경해야합니까?

node --version결과를 입력하여 시작합니다 v0.12.7. 때문에 이것은 분명히 이전 버전입니다 nodejs.org것을 말한다 v5.6.0최신 안정 버전입니다.

그런 다음 최신 버전의 node.js를 얻으려면 다음을 입력하십시오.

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

터미널은 오래된 버전의 node.js를 제거하려면 다음을 입력해야한다고 인쇄하므로 다음을 입력하십시오.

yum remove -y nodejs npm

터미널은 최신 버전의 node.js를 설치하기 위해 다음을 입력하라는 메시지도 표시하므로 다음을 입력하십시오.

yum install -y nodejs

그러나 node --version다시 입력 하면 터미널이 v0.12.7다시 응답 하여 이전 명령이 이전의 오래된 버전을 다시 설치했음을 나타냅니다.

CentOS 7 컴퓨터에 최신 안정 버전의 node.js를 설치하려면 어떻게해야합니까?


지속적인 노력 :


@Digisec의 제안에 따라 위의 명령을 다시 실행하지만 이번에는 모든 출력을 다음 텍스트에 기록했습니다. 다시 실행하면 시퀀스가 ​​약간 다르지만 결과는 다음과 같습니다.

[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]#   

그런 다음 @Digisec의 답변에 따라 다음을 시도했지만 다음 터미널 출력에서 ​​볼 수 있듯이 여전히 올바른 버전을 설치하지 못했습니다 .

[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]# 

그런 다음 위의 오류 로그에서 참조한 기술 자료 문서 를 방문 했지만 Red Had 고객이 아니기 때문에 전체 기사에 액세스 할 수 없음을 발견했습니다.


부분 솔루션 :


@Digisec은 새 버전을 설치하는 방법을 보여줌으로써 부분적으로이 문제를 해결했지만 여전히 이전 버전을 제거 할 수 없으므로 충돌이 발생할 위험이 있습니다. 새 설치를 깨끗하고 완전하게하려면 이전 버전을 제거하려면 어떤 단계를 수행해야합니까?

이 링크에서 이전 버전 v0.12.7의 tar URL을 찾았 습니다 . 그리고 @Digisec ' 은이 다른 링크를make uninstall 읽는 것을 제안했습니다 . 이전 v0.12.7을 제거하고 새 버전의 nodejs를 다시 설치하기 위해 터미널에 입력해야하는 명령이 5 개 또는 10 개일 수 있습니다. 필요한 명령은 무엇입니까?

CentOS 7 시스템에서 다음 터미널 명령을 사용하여 nodejs v0.12.7과 관련된 tar 파일 3 개를 찾은 것 같습니다.

[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가 명확하지 않은 추가로 표시되는 tar 파일이 세 개 더 있습니다.

컴퓨터에서 관련된 v0.12.7모든 v0.12.7tar 파일 을 안전하게 제거 하고 제거 하기 위해 어떤 특정 명령을 실행해야 합니까?


모든 출력도 게시하는 것이 좋습니다. 그것은 당신을 더 잘 도울 수있는 일을보고 도움이 될 것입니다.
Digisec 2012

@Digisec 명령을 다시 실행 한 다음 요청에 따라 전체 출력을 OP에 추가했습니다. 문제를 해결하기 위해 다른 조치를 취할 수 있습니까?
CodeMed 2019

이제 NodeJS의 이전 버전을로 제거 할 수 있습니다 yum remove -y nodejs.
avazula

답변:


7

방금이 링크 를 확인했습니다 . 특히 version을 설치 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시스템에 설치된 nodejs로 제거 하십시오. 둘째, 컴파일 한 버전의 tarball을 가져 와서 압축을 풀고 ./configure제거하십시오. 이 단계에서는 온라인에서 쉽게 찾을 수 있습니다. 마지막으로를 nodejs통해 다시 설치 yum하면 문제가 해결됩니다.

이것을 조사해 주셔서 감사하지만 여전히 문제를 완전히 해결하지는 못합니다. 제안 끝에 시도한 결과를 문서화하여 OP 끝에 추가 한 추가 터미널 출력을 참조하십시오. 다른 무엇을 시도 할 수 있습니까?
CodeMed

@ CodeMed 나는 대답을 업데이트했으며 채팅을하는 것이 더 좋습니다.
Digisec

문제가 해결되지 않았습니다. 여전히 채팅을 원한다면 chat.stackexchange.com/rooms/35670/…
CodeMed

문제를 해결하여 @CodeMed에게 행운을 빕니다.
Digisec

옵션 2를 자세히 설명 하시겠습니까? 아니면 별도의 질문을 게시해야합니까?
CodeMed

4

제가 한:

rm -f /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_7.x | 배쉬-
yum 설치 -y nodejs
노드 --version

그리고 나는 얻었다 :

v7.2.0

감사합니다! 이것이 나를 돕는 유일한 솔루션이었습니다.
626


1

동일한 NodeSource RepoInstaller 에서 설치 노드를 시도 했습니다 . 내 방식으로 문제는 nodesourcerepo 를 사용하여 해결되었습니다 . 로 변경 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

CentOS 7에 npm 및 nodejs의 새 버전을 설치하는 데 문제가있었습니다.

nodejs 사이트의 지침에 따라 npm을 설치하려고했습니다. 이것은 문제로 판명되었습니다 (npm은 EPEL에서 설치 중이었습니다). Nodesource 저장소는 EPEL의 경우와 같이 npm에 대한 개별 패키지를 제공하지 않습니다. 대신 모든 것이 단일 패키지 'nodejs'안에 있습니다. 따라서 Nodesource에서 nodejs를 설치하면 이제 자동으로 npm을 설치하고 업데이트 된 버전으로 이동할 준비가되었습니다.


0

나는 같은 문제로 어려움을 겪 yum clean all거나 rm -f /etc/yum.repos.d/nodesource*도움을 주지 못했습니다. 그런 다음 yum이 Epel 저장소를 사용하여 노드를 설치 했으므로 일시적으로 ( /etc/yum.repos.d/epel.reposet enabled=0) 비활성화 한 후

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

0

나는 또한 같은 문제에 직면했다.

해결 방법 : 1. /tmp위치로 이동하여 모든 파일과 폴더를 제거하십시오.

cd /tmp
rm -rf *

2. 이제 아래 명령을 사용하여 NodeJ를 설치할 수 있습니다

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
sudo yum install -y nodejs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.