我尝试使用yum在CentOS 7上将Node.js从v12更新至v16

Node.js v18已发布。

最新版本的 Node.js(计划为 LTS 版本)已经发布。

由于之前安装的v12的支持将于2022年4月30日结束,我打算升级到v18,但遇到了一些问题,所以我想先尝试升级到v16(LTS)。

以前,安装v12的文章如下。

 

使用安装脚本

这次我们将使用nodesource提供的Shell脚本来进行更新。
(我认为不仅可以通过更新,还可以使用以下方法进行新安装。)

如果没有安装curl,则需要先安装curl。(已安装的用户请忽略)

yum -y install curl

使用CURL来下载脚本并执行。

curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -

由于yum的缓存有时候会导致一些问题,所以我会先清除一下。

yum clean all

使用yum来更新nodejs。
如果是第一次安装nodejs,请将”update”更改为”install”并执行。

yum -y update nodejs

请确认版本并退出

node --version
v16.14.2

我认为不久之后将公开适用于v18的安装脚本,所以如果不急的话,可以直接升级到v18。

享受吧!

使用v18的设置来进行追加记录。

听说已经发布了用于v18的安装脚本,于是我尝试将16版升级到18版,但却被抱怨说某些库不兼容。

curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
yum clean all
yum -y update nodejs
:
:
Error: Package: 2:nodejs-18.0.0-1nodesource.x86_64 (nodesource)
           Requires: libc.so.6(GLIBC_2.28)(64bit)
Error: Package: 2:nodejs-18.0.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: 2:nodejs-18.0.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: 2:nodejs-18.0.0-1nodesource.x86_64 (nodesource)
           Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: 2:nodejs-18.0.0-1nodesource.x86_64 (nodesource)
           Requires: libm.so.6(GLIBC_2.27)(64bit)

考虑到各种库似乎无法兼容,为了防止对其他部分产生影响,我暂时决定使用 Node.js 的 v16 版本。(^^;

因为v18失败了,所以我重新执行了v16的安装文件,并确认在v16上可以操作。