注:これは部分的に解決されていますが、もう少し注意が必要です。 OPの下部にあるメモ、および@Digisecの部分的な回答を参照してください。
CentOS 7でNode.jsをセットアップしようとしていますが、次のコマンドで最新バージョンをインストールできません。 最新バージョンのNode.jsをCentOS7にインストールするには、以下のコードで何を変更する必要がありますか?
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の提案に従って、上記のコマンドを再実行しましたが、今回はすべての出力を次のテキストに記録しました。もう一度実行しているため、シーケンスが少し異なりますが、結果は次のように同じであることに注意してください。
[[email protected] ~]# node --version
v0.12.7
[[email protected] ~]# cd /tmp
[[email protected] 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`
[[email protected] 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!
[[email protected] 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!
[[email protected] tmp]# node --version
v0.12.7
[[email protected] tmp]#
次に、@Digisecの回答に従って 、次に次のことを試しましたが、それでも適切なバージョンをインストールできません 、次の端末出力からわかるように:
[[email protected] 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`
[[email protected] 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!
[[email protected] 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.
[[email protected] 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.
[[email protected] tmp]# node --version
v0.12.7
[[email protected] tmp]#
次に、上記のエラーログで参照されているナレッジベースの記事にアクセスしましたが、Red Hadの顧客ではないため、記事全体にアクセスできないことがわかりました。
関連:Linux – Unix / Linux OSの標準および/または共通ディレクトリ?部分的な解決策:
@Digisecは、新しいバージョンをインストールする方法を示すことでこれを部分的に解決しましたが、古いバージョンを削除することはできません。これにより、今後競合が発生するリスクが残ります。 新しいインストールをクリーンで完了するために、古いバージョンを削除するにはどのような手順を実行する必要がありますか?
このリンクで、古いバージョンv0.12.7のtarURLを見つけました。また、@ Digisec’は、この他のリンクを読むことを提案しました。これは、コマンドmake uninstall
を使用することを提案しています。 。 古いv0.12.7を削除し、新しいバージョンのnodejsを再インストールするために、ターミナルに入力するコマンドは5つか10しかないのではないかと思います。必要なコマンドは何ですか?
次のターミナルコマンドを使用して、CentOS7マシンでnodejsv0.12.7に関連する3つのtarファイルを見つけたようです。
[[email protected] ~]# cd /
[r[email protected] /]# 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
[[email protected] /]#
node_modules
とマークされた追加の3つのtarファイルがあることに注意してください v0.12.7
との関係 明確ではありません。
v0.12.7
を安全にアンインストールするために実行する特定のコマンド すべてのv0.12.7
を削除します マシンからの関連するtarファイル?
承認された回答:
これを取得したリンクを確認しました。具体的には、バージョン0.10
をインストールします 、または少なくともしようとしていますが、インストールされているリポジトリに新しいバージョンがあります。ノードv5の設定に従う必要があります。
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
PS :今後の参考のために、特に root としてコマンドを実行する場合は、サイトを注意深く読むようにしてください。 。
編集: 了解しました。リポジトリを正しく追加したようです。リポジトリを調べると、パッケージはありますが、システムは間違ったバージョンを探しています。この時点で、私は提案します。
yum clean all && yum update
これにより、キャッシュされたリポジトリがクリーンアップされ、リモートから取得されます。
関連:Windows 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
を介して 、そしてそれはあなたの問題を解決するはずです。