注:これは部分的に解決されていますが、もう少し注意が必要です。 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の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ファイルをマシンから削除するために実行する特定のコマンドは何ですか?
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をお勧めします。
.bashrc
を編集して、node -> /usr/bin/node
を指すalias
を追加できます。これは、alias node="/usr/bin/node"
を追加するのと同じくらい簡単です。これにより毎回正しいバージョンが呼び出されますが、今後ライブラリとの競合が発生しないことを保証できません。yum
でパージします。次に、コンパイルしたバージョンのtarballを取得し、解凍して./configure
をアンインストールします。このステップでは、 online を簡単に見つけることができます。最後に、nodejs
〜yum
を再インストールすると、問題が解決するはずです。私がしたこと:
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
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
したがって、ここで同じ問題に遭遇しました。私たちが気付いたのは、リポジトリ名が同じであるため、リポジトリpathsが変更されていても、yumはリポジトリ内の内容をすでに認識しており、キャッシュを更新していないと考えているようです。 yum clean all
(やり過ぎだった可能性があります)、次にyum install
が新しいバージョンを取得しました。
同じノードからノードをインストールしてみました 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
また、CentOS 7にインストールされたnpmおよびnodejsの新しいバージョンを取得する際に問題が発生していました。
Nodejsサイトの指示に従い、npmをインストールしようとしました。これが問題であることが判明しました(npmはEPELからインストールしていました)。 EPELの場合のように、Nodesourceリポジトリはnpmの個別のパッケージを提供しません。代わりに、すべてが単一のパッケージ「nodejs」内にあります。したがって、Nodesourceからnodejsをインストールすると、npmが自動的にインストールされ、更新されたバージョンを使用する準備が整います。
私は同じ問題で苦労していましたが、yum clean all
もrm -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
私も同じ問題に直面しています。
解決策:1. /tmp
の場所に移動して、すべてのファイルとフォルダーを削除します。
cd /tmp
rm -rf *
2.これで、以下のコマンドを使用してNodeJをインストールできます
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
Sudo yum install -y nodejs