Обновление Node.JS из tarball или binares, когда версия, установленная yum, уже существует

Обновление Node.JS из tarball или binares, когда версия, установленная yum, уже существует

На CentOS 6.3 64-бит яустановил Node.JS версии 0.6.18 с помощьюyum.

У меня есть приложение, которое требует Node.JS v0.8.x. Текущая стабильная версия Node.JS — 0.8.7, которая идеальна. К сожалению,сайт, на котором размещены RPM-пакеты для Nodeне очень актуальна и на данный момент не имеет RPM для версии 0.8.x.

Вопросы:

  • Есть ли другой источник?для RPM-пакетов, которые могут иметь последнюю стабильную сборку?
  • Если нет, то есть ли хитрый способкрутить свой собственный RPMrpmbuild? ( В моей системе нет доступного.)
  • Если нет, то как лучше всего это сделать?удалить мою текущую версию Node.JS, установленную с помощью yum, и установить изtarball двоичных файлов, при этом убедившись, что установлены правильные версии V8 и т. п.? (Я предпочитаю не собирать из исходников... места на диске мало, а установка GCC может привести к тому, что я приблизимся к квоте или превышу ее.)

решение1

Если нет, то есть ли хитрый способ скрутить свой собственный RPM?

Да. С локальной системой Fedora вы можете извлечь EL SRPM, заменить tarball, пересобрать SRPM, а затем использовать mock для пересобирания RPM для EL с новой версией Node. mock выполнит сложную работу по загрузке и установке требований к сборке в chroot, а затем соберет новый пакет из нового tarball.

Обратите внимание, что это не всегда тривиальная задача, поскольку более новая версия может иметь дополнительные требования как к сборке, так и к установке исправлений для приведения ее в состояние, пригодное для сборки.

решение2

Некоторые люди на irc.freenode.net/#Node.js просто дали мне знать, что V8 скомпилирован по умолчанию, и что доступный бинарный tarball может быть просто запущен без проблем. Учитывая это, я удалю версию RPM и просто извлеку этот tarball и запущу его.

Связанный контент