CentOS box 上的 node.js 是 v0.6.18,yum 不会更新或升级它。为什么?

ari*_*tav 6 centos node.js installation

我目前正在使用安装了 node 版本的 CentOS 机器,当我这样做时:

nodejs -v
Run Code Online (Sandbox Code Playgroud)

我得到

v0.6.18
Run Code Online (Sandbox Code Playgroud)

但是我在 nodejs.org 网站上注意到,最新版本是 0.8.12,所以这样做:

sudo yum update nodejs
Run Code Online (Sandbox Code Playgroud)

我得到

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
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?为什么yum找不到最新版本的node?我是否必须从 nodejs.org 下载 .tar.gz 并以这种方式安装它?

Zac*_*c B 1

您的系统上似乎没有加载 NodeJS Yum 存储库。按照 Node 的“通过包管理器安装”页面上的说明将存储库加载到您的系统上,运行yum clean all一次以获得良好的效果,然后yum update再次尝试该命令。如果您从非 Yum 源(例如构建表单源)获取 Node,您可能必须运行yum install nodejs(而不是update)或类似的东西才能开始通过 Yum 管理您的 NodeJS 实例。

另外,由于 Node 开发得如此频繁,并且发布如此频繁,因此较新版本的 RPM 包可能在一段时间内不会渗透到 Yum 存储库中进行分发(这是我使用 EPEL 和许多快速开发的软件的经验) )。如果是这种情况,请考虑使用第三方/其他 Yum 存储库来打包和/或跟踪新的 Node 版本(如这个),或使用不同的包管理器(是否npm支持更新其运行的 Node 实例?)或手动下载/安装软件。