CentOS 7にNode.jsの正しい新しいバージョンがインストールされないのはなぜですか?


11

注:これは部分的に解決されていますが、もう少し注意が必要です。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に関連する3つのtarファイルを見つけたようです。

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

マークされている追加の3つのtarファイルがnode_modulesあり、それらの関係v0.12.7が明確でないことに注意してください。

関連v0.12.7するすべてのv0.12.7tarファイルをマシンから安全にアンインストールおよび削除するために、どの特定のコマンドを実行しますか?


すべての出力も投稿することをお勧めします。それはあなたをより良く助けることができるように何が起こっているのかを見るのに役立ちます。
Digisec

@Digisec私はコマンドを再実行してから、完全な出力をOPに追加しました。問題を特定するために他に何かできますか?
CodeMed 2016

FWIWでNodeJSの古いバージョンをアンインストールできますyum remove -y nodejs
avazula

回答:


7

これを取得したリンクを確認しました。具体的にはversionをインストールする0.10か、少なくともしようとしていますが、インストールされているリポジトリに新しいバージョンがあります。ノードv5の設定に従う必要があります。

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

PS:今後の参考のために、特にrootとしてコマンドを実行する場合は、サイトをよく読んでください。

編集: 申し分なく、あなたは正しくリポジトリを追加したようです。リポジトリを確認すると、パッケージは存在しますが、システムは間違ったバージョンを探しています。この時点で、私はお勧めします。

yum clean all && yum update

これにより、キャッシュされたリポジトリが削除され、リモートから取得されます。

回答:で 行った作業の後で、chat正しい回答を示します。nodejs v5正常にインストールされています。以前にnodejs v0.12手動でコンパイルしましたが、バイナリディストリビューションではこの位置になってしまうため、これはお勧めできません。

which node

戻ってきた

/usr/local/bin/node

ながら

/usr/bin/node

の正解を返しましたv5.x

この時点では、修正するための複数のオプションがありますが、2をお勧めします。

  • オプション1:これは簡単な方法です。を編集して.bashrcaliasポイントするを追加できますnode -> /usr/bin/node。これは追加するのと同じくらい簡単alias node="/usr/bin/node"です。これにより毎回正しいバージョンが呼び出されますが、今後ライブラリとの競合が発生しないことを保証できません。
  • オプション2:これは難しい方法ですが、修正されます。まず、yumシステムにインストールされているnodejs でパージします。次に、コンパイルしたバージョンのtarballを取得し、解凍して./configureアンインストールします。このステップでは、オンラインで簡単に見つけることができます。最後に、再インストールしnodejsyum、それはあなたの問題を解決する必要があります。

調査していただきありがとうございますが、これでも問題は完全には解決していません。OPの最後に追加したターミナル出力を見て、提案を試した結果を文書化してください。他に何を試すことができますか?
CodeMed 2016

@CodeMed回答を更新しました。チャットに参加することをお勧めします。
Digisec

それは問題を解決しませんでした。:あなたはまだチャットに喜んでいる場合は、私は次の部屋に作成chat.stackexchange.com/rooms/35670/...
CodeMed

@CodeMedで問題を解決してください。
Digisec

オプション2について詳しく説明しますか?または別の質問を投稿する必要がありますか?
CodeMed 2016

4

私がしたこと:

rm -f /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_7.x | bash-
yum install -y nodejs
ノード-バージョン

そして私は得ました:

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

また、CentOS 7にインストールされたnpmとnodejsの新しいバージョンを取得するときに問題が発生していました。

nodejsサイトの指示に従い、npmをインストールしようとしました。これが問題であることが判明しました(npmはEPELからインストールしていました)。EPELの場合のように、Nodesourceリポジトリは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.