Aktualisieren von Node.JS aus dem Tarball von Binares, wenn die von Ihnen installierte Version bereits vorhanden ist

676
Brad

Auf CentOS 6.3 64-Bit habe ich Node.JS Version 0.6.18 installiertyum .

Ich habe eine Anwendung, die Node.JS v0.8.x erfordert. Die derzeit stabile Version von Node.JS ist 0.8.7, was perfekt ist. Leider ist die Site, die die RPMs für Node hostet, nicht sehr aktuell und verfügt derzeit nicht über einen RPM für Version 0.8.x.

Fragen:

  • Gibt es eine andere Quelle für RPMs, die möglicherweise den neuesten stabilen Build enthält?
  • Wenn nicht, gibt es eine raffinierte Möglichkeit, mein eigenes RPM zu rollen ? (Ich habe kein rpmbuildZugriff auf mein System.)
  • Wenn nicht, was ist der beste Weg, um meine aktuelle, von Yum installierte Version von Node.JS zu entfernen und die Installation aus dem Tarball der Binärdateien zu entfernen, während sichergestellt wird, dass die korrekten Versionen von V8 und solche installiert werden? (Ich ziehe es vor, nicht von der Quelle aus zu bauen ... der Festplattenspeicher ist knapp, und durch die Installation von GCC könnte ich nahe an oder über einer Quote sein.)
2

2 Antworten auf die Frage

2
Brad

Einige Leute auf irc.freenode.net/#Node.js lassen mich wissen, dass V8 standardmäßig kompiliert ist und dass der verfügbare binäre Tarball problemlos ausgeführt werden kann. Angesichts dessen werde ich die RPM-Version entfernen und das Archiv einfach extrahieren und ausführen.

2
Ignacio Vazquez-Abrams

Wenn nicht, gibt es eine raffinierte Möglichkeit, mein eigenes RPM zu rollen?

Es gibt. Mit einem lokalen Fedora-System können Sie den EL-SRPM extrahieren, den Tarball ersetzen, den SRPM neu erstellen und dann mithilfe von Mock den RPM für EL mit der neuen Version von Node neu erstellen. mock erledigt die harte Arbeit beim Herunterladen und Installieren der Build-Anforderungen innerhalb einer Chroot-Datei und erstellt dann das neue Paket aus dem neuen Tarball.

Beachten Sie, dass dies nicht immer eine triviale Aufgabe ist, da für die neuere Version sowohl beim Erstellen als auch beim Patchen zusätzliche Anforderungen gelten, um sie in einen baubaren Zustand zu bringen.