yum でインストールされたバージョンがすでに存在する場合にバイナリの tarball から Node.JS をアップグレードする

yum でインストールされたバージョンがすでに存在する場合にバイナリの tarball から Node.JS をアップグレードする

CentOS 6.3 64ビットでは、Node.JSバージョン0.6.18をインストールしましたyum

Node.JS v0.8.xを必要とするアプリケーションがあります。現在利用可能なNode.JSの安定バージョンは0.8.7で、これは完璧です。残念ながら、Node.jsのRPMをホストするサイトあまり最新ではなく、現時点ではバージョン 0.8.x の RPM はありません。

質問:

  • 別の情報源はありますか最新の安定したビルドを持つ可能性のある RPM ですか?
  • もしそうでないなら、巧妙な方法はあるだろうか独自のRPMを作成するrpmbuild? (私のシステムでは利用できません。)
  • そうでない場合、最善の方法は何ですか現在yumでインストールしたNode.JSのバージョンを削除し、バイナリのtarball、V8 などの正しいバージョンがインストールされていることを確認しながら? (ソースからビルドするのは好みではありません...ディスク容量が限られており、GCC をインストールするとクォータに近づいたり、クォータを超えたりする可能性があります。)

答え1

そうでない場合、独自の RPM を作成する巧妙な方法はありますか?

あります。ローカル Fedora システムでは、EL SRPM を抽出し、tarball を置き換えて SRPM を再構築し、mock を使用して EL の RPM を新しいバージョンの Node で再構築できます。mock は、chroot 内でビルド要件をダウンロードしてインストールするという大変な作業を実行し、新しい tarball から新しいパッケージをビルドします。

新しいバージョンでは、ビルド可能な状態にするために、ビルドとパッチの両方に関して追加の要件がある場合があるため、これは必ずしも簡単な作業ではないことに注意してください。

答え2

irc.freenode.net/#Node.js の何人かの人たちから、V8 はデフォルトでコンパイルされており、利用可能なバイナリ tarball は問題なく実行できると聞きました。それを踏まえて、RPM バージョンを削除し、その tarball を抽出して実行することにしました。

関連情報