web-dev-qa-db-ja.com

CentOSボックスのnode.jsはv0.6.18であり、yumはそれを更新またはアップグレードしません。どうして?

私は現在、ノードのバージョンがインストールされているCentOSボックスを使用しています。

nodejs -v

私は得る

v0.6.18

しかし、nodejs.orgのWebサイトで、最新のリリースが0.8.12であることに気づきました。

Sudo yum update nodejs

私は得る

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos-mirror.jchost.net
* epel: Fedora-epel.mirror.lstn.net
* extras: centos.mirror.lstn.net
* updates: centos.mirror.lstn.net
Setting up Update Process
No Packages marked for Update

どうしたんだ? yumが最新バージョンのノードを見つけられないのはなぜですか? nodejs.orgから.tar.gzをダウンロードして、そのようにインストールする必要がありますか?

6
ariestav

NodeJS Yumリポジトリがシステムにロードされているようには見えません。ノードの「 パッケージマネージャーを介したインストール 」ページの指示に従ってリポジトリをシステムにロードし、yum clean allを1回実行してから、yum updateコマンドを再試行します。 Yum以外のソース(ビルドフォームソースなど)からNodeを取得した場合は、開始するためにyum install nodejsupdateではなく)などを実行する必要があります。 Yumを介してNodeJSインスタンスを管理します。

また、Nodeは非常に開発が進んでおり、頻繁にリリースされるため、新しいバージョンのRPMパッケージがしばらくの間Yumリポジトリに浸透して配布されない可能性があります(つまり、 EPELと急速に開発された多くのソフトウェアに関する私の経験)。その場合は、新しいYumバージョン( this one など)をパッケージ化および/または追跡するサードパーティ/その他のNodeリポジトリの使用を検討してください。別のパッケージマネージャーを使用するか(npmはそれが実行されるNodeインスタンスの更新をサポートしますか?)、またはソフトウェアを手動でダウンロード/インストールします。

1
Zac B

これを処理するスクリプトを作成しました。次の手順に従います。

# retrieve
curl https://Gist.github.com/4348083/download > centos5.8-upgrade-nodejs0.8.16.tar.gz

# extract
tar -xvf centos5.8-upgrade-nodejs0.8.16.tar.gz --strip 1

# prepare
chmod 744 centos5.8-upgrade-nodejs0.8.16.sh

# execute
Sudo ./centos5.8-upgrade-nodejs0.8.16.sh

# cleanup
Sudo rm -r bzip2-1.0.6* centos5.8-upgrade-nodejs0.8.16* Python-2.7*
0
Danny G