当 yum 安装的版本已经存在时,从二进制文件的 tarball 升级 Node.JS

当 yum 安装的版本已经存在时,从二进制文件的 tarball 升级 Node.JS

在 CentOS 6.3 64 位上,我已经使用以下方式安装 Node.JS 版本 0.6.18yum

我有一个应用程序需要 Node.JS v0.8.x。目前可用的 Node.JS 稳定版本是 0.8.7,这个版本很完美。不幸的是,Node RPM 的托管站点并不是很新,并且目前没有 0.8.x 版本的 RPM。

问题:

  • 还有其他来源吗是否有可能包含最新稳定版本的 RPM?
  • 如果没有,有什么巧妙的方法可以推出我自己的 RPMrpmbuild?(我的系统上没有可用功能。)
  • 如果没有,最好的方法是什么删除当前通过 yum 安装的 Node.JS 版本,然后从二进制文件压缩包,同时确保安装了正确版本的 V8 等?(我不喜欢从源代码构建...磁盘空间紧张,安装 GCC 可能会使我接近或超出配额。)

答案1

如果没有的话,有没有什么巧妙的方法来推出我自己的 RPM?

有。使用本地 Fedora 系统,您可以提取 EL SRPM、替换 tarball、重建 SRPM,然后使用 mock 为新版本的 Node 重建 EL 的 RPM。mock 将在 chroot 中完成下载和安装构建要求的艰苦工作,然后从新的 tarball 构建新包。

请注意,这并不总是一项简单的任务,因为新版本可能在构建和修补方面有额外的要求,以使其达到可构建状态。

答案2

irc.freenode.net/#Node.js 上的一些人刚刚告诉我,默认情况下会编译 V8,并且可用的二进制 tarball 可以轻松运行而不会出现问题。鉴于此,我将删除 RPM 版本,然后直接提取该 tarball 并运行它。

相关内容