web-dev-qa-db-ja.com

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

注:これは部分的に解決されていますが、もう少し注意が必要です。 OPの下部にあるメモと@Digisecの部分的な回答を参照してください。

CentOS 7でNode.jsを設定しようとしていますが、次のコマンドで最新バージョンをインストールできません。 CentOS 7に最新バージョンのNode.jsをインストールするには、以下のコードで何を変更する必要がありますか?

まずnode --versionと入力すると、v0.12.7になります。 nodejs.orgv5.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のanswerに従って、次のことを試しましたが、結果はまだインストールに失敗しています次の端末出力からわかるように、適切なバージョン

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

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

v0.12.7を安全にアンインストールし、v0.12.7に関連付けられているすべてのtarファイルをマシンから削除するために実行する特定のコマンドは何ですか?

11
CodeMed

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

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

[〜#〜] ps [〜#〜]:今後の参考のため、特にroot

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

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

私がしたこと:

 rm -f /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_7.x | bash-
 yum install -y nodejs 
 node --version 

そして私は得ました:

 v7.2.0 
4
Sergio

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

3
user11085

したがって、ここで同じ問題に遭遇しました。私たちが気付いたのは、リポジトリ名が同じであるため、リポジトリpathsが変更されていても、yumはリポジトリ内の内容をすでに認識しており、キャッシュを更新していないと考えているようです。 yum clean all(やり過ぎだった可能性があります)、次にyum installが新しいバージョンを取得しました。

2
gregsymons

同じノードからノードをインストールしてみました 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
1
BioQwer

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

Nodejsサイトの指示に従い、npmをインストールしようとしました。これが問題であることが判明しました(npmはEPELからインストールしていました)。 EPELの場合のように、Nodesourceリポジトリはnpmの個別のパッケージを提供しません。代わりに、すべてが単一のパッケージ「nodejs」内にあります。したがって、Nodesourceからnodejsをインストールすると、npmが自動的にインストールされ、更新されたバージョンを使用する準備が整います。

0
Ben

私は同じ問題で苦労していましたが、yum clean allrm -f /etc/yum.repos.d/nodesource*も役に立ちませんでした。次に、yumがノードをインストールするためにEpelリポジトリを使用していることを発見したので、一時的に(/etc/yum.repos.d/epel.repoセットenabled=0で)無効にし、その後

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

私も同じ問題に直面しています。

解決策:1. /tmpの場所に移動して、すべてのファイルとフォルダーを削除します。

cd /tmp
rm -rf *

2.これで、以下のコマンドを使用してNodeJをインストールできます

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
Sudo yum install -y nodejs
0