CentOS7 上安装 nodejs18以上版本

124 min read
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
Install dnf

sudo yum install dnf
Install node and yarn:

sudo dnf install nodejs
sudo dnf install yarn
[root@vmi1590926 ~]# curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
2024-01-18 21:00:44 - Cleaning up old repositories...
2024-01-18 21:00:44 - Old repositories removed
2024-01-18 21:00:44 - Supported architecture: x86_64
2024-01-18 21:00:44 - Added N|Solid repository for LTS version: 18.x
2024-01-18 21:00:44 - yum available, updating...
\
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
 * base: asi-fs-j.contabo.net
Excluding mirror: mirror.nl.leaseweb.net
Excluding mirror: mirror.de.leaseweb.net
 * epel: cdn.centos.no
 * extras: mirrors.vinters.com
 * updates: asi-fs-j.contabo.net
nodesource-nodejs                                                                       | 3.0 kB  00:00:00
nodesource-nsolid                                                                       | 3.0 kB  00:00:00
No packages marked for update
2024-01-18 21:00:46 - Repository is configured and updated. Run 'yum install nodejs -y' to complete the installation.
[root@vmi1590926 ~]# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo\
>
[yarn]
name=Yarn Repository
baseurl=https://dl.yarnpkg.com/rpm/
enabled=1
gpgcheck=1
gpgkey=https://dl.yarnpkg.com/rpm/pubkey.gpg
[root@vmi1590926 ~]# sudo yum install dnf
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
 * base: asi-fs-j.contabo.net
Excluding mirror: mirror.nl.leaseweb.net
Excluding mirror: mirror.de.leaseweb.net
 * epel: cdn.centos.no
 * extras: mirrors.vinters.com
 * updates: asi-fs-j.contabo.net
yarn                                                                                    | 2.9 kB  00:00:00
yarn/primary_db                                                                         |  23 kB  00:00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 dnf.noarch.0.4.0.9.2-2.el7_9 将被 安装
--> 正在处理依赖关系 python2-dnf = 4.0.9.2-2.el7_9,它被软件包 dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在检查事务
---> 软件包 python2-dnf.noarch.0.4.0.9.2-2.el7_9 将被 安装
--> 正在处理依赖关系 dnf-data = 4.0.9.2-2.el7_9,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 python2-libdnf >= 0.22.5,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 python2-libcomps >= 0.1.8,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 python2-hawkey >= 0.22.5,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 libmodulemd >= 1.4.0,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 python2-libdnf,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 python-enum34,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在处理依赖关系 deltarpm,它被软件包 python2-dnf-4.0.9.2-2.el7_9.noarch 需要
--> 正在检查事务
---> 软件包 deltarpm.x86_64.0.3.6-3.el7 将被 安装
---> 软件包 dnf-data.noarch.0.4.0.9.2-2.el7_9 将被 安装
--> 正在处理依赖关系 libreport-filesystem,它被软件包 dnf-data-4.0.9.2-2.el7_9.noarch 需要
---> 软件包 libmodulemd.x86_64.0.1.6.3-1.el7 将被 安装
---> 软件包 python-enum34.noarch.0.1.0.4-1.el7 将被 安装
---> 软件包 python2-hawkey.x86_64.0.0.22.5-2.el7_9 将被 安装
--> 正在处理依赖关系 libdnf(x86-64) = 0.22.5-2.el7_9,它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 libsolvext.so.0(SOLV_1.0)(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 libsolv.so.0(SOLV_1.0)(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 libsolvext.so.0()(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 libsolv.so.0()(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 librepo.so.0()(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
--> 正在处理依赖关系 libdnf.so.2()(64bit),它被软件包 python2-hawkey-0.22.5-2.el7_9.x86_64 需要
---> 软件包 python2-libcomps.x86_64.0.0.1.8-14.el7 将被 安装
--> 正在处理依赖关系 libcomps(x86-64) = 0.1.8-14.el7,它被软件包 python2-libcomps-0.1.8-14.el7.x86_64 需要
--> 正在处理依赖关系 libcomps.so.0.1.6()(64bit),它被软件包 python2-libcomps-0.1.8-14.el7.x86_64 需要
---> 软件包 python2-libdnf.x86_64.0.0.22.5-2.el7_9 将被 安装
--> 正在检查事务
---> 软件包 libcomps.x86_64.0.0.1.8-14.el7 将被 安装
---> 软件包 libdnf.x86_64.0.0.22.5-2.el7_9 将被 安装
---> 软件包 librepo.x86_64.0.1.8.1-8.el7_9 将被 安装
---> 软件包 libreport-filesystem.x86_64.0.2.1.11-53.el7.centos 将被 安装
---> 软件包 libsolv.x86_64.0.0.6.34-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================================================================
 Package                         架构              版本                               源                  大小
===============================================================================================================
正在安装:
 dnf                             noarch            4.0.9.2-2.el7_9                    extras             357 k
为依赖而安装:
 deltarpm                        x86_64            3.6-3.el7                          base                82 k
 dnf-data                        noarch            4.0.9.2-2.el7_9                    extras              51 k
 libcomps                        x86_64            0.1.8-14.el7                       extras              75 k
 libdnf                          x86_64            0.22.5-2.el7_9                     extras             535 k
 libmodulemd                     x86_64            1.6.3-1.el7                        extras             141 k
 librepo                         x86_64            1.8.1-8.el7_9                      updates             82 k
 libreport-filesystem            x86_64            2.1.11-53.el7.centos               base                41 k
 libsolv                         x86_64            0.6.34-4.el7                       base               329 k
 python-enum34                   noarch            1.0.4-1.el7                        base                52 k
 python2-dnf                     noarch            4.0.9.2-2.el7_9                    extras             414 k
 python2-hawkey                  x86_64            0.22.5-2.el7_9                     extras              71 k
 python2-libcomps                x86_64            0.1.8-14.el7                       extras              47 k
 python2-libdnf                  x86_64            0.22.5-2.el7_9                     extras             611 k

事务概要
===============================================================================================================
安装  1 软件包 (+13 依赖软件包)

总下载量:2.8 M
安装大小:11 M
Is this ok [y/d/N]: y
Downloading packages:
(1/14): deltarpm-3.6-3.el7.x86_64.rpm                                                   |  82 kB  00:00:00
(2/14): libcomps-0.1.8-14.el7.x86_64.rpm                                                |  75 kB  00:00:01
(3/14): librepo-1.8.1-8.el7_9.x86_64.rpm                                                |  82 kB  00:00:00
(4/14): libreport-filesystem-2.1.11-53.el7.centos.x86_64.rpm                            |  41 kB  00:00:00
(5/14): libsolv-0.6.34-4.el7.x86_64.rpm                                                 | 329 kB  00:00:00
(6/14): dnf-data-4.0.9.2-2.el7_9.noarch.rpm                                             |  51 kB  00:00:01
(7/14): python-enum34-1.0.4-1.el7.noarch.rpm                                            |  52 kB  00:00:00
(8/14): python2-hawkey-0.22.5-2.el7_9.x86_64.rpm                                        |  71 kB  00:00:00
(9/14): python2-libcomps-0.1.8-14.el7.x86_64.rpm                                        |  47 kB  00:00:00
(10/14): libdnf-0.22.5-2.el7_9.x86_64.rpm                                               | 535 kB  00:00:01
(11/14): python2-libdnf-0.22.5-2.el7_9.x86_64.rpm                                       | 611 kB  00:00:00
(12/14): dnf-4.0.9.2-2.el7_9.noarch.rpm                                                 | 357 kB  00:00:03
(13/14): libmodulemd-1.6.3-1.el7.x86_64.rpm                                             | 141 kB  00:00:02
(14/14): python2-dnf-4.0.9.2-2.el7_9.noarch.rpm                                         | 414 kB  00:00:06
---------------------------------------------------------------------------------------------------------------
总计                                                                           349 kB/s | 2.8 MB  00:00:08
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : libmodulemd-1.6.3-1.el7.x86_64                                                            1/14
  正在安装    : libsolv-0.6.34-4.el7.x86_64                                                               2/14
  正在安装    : librepo-1.8.1-8.el7_9.x86_64                                                              3/14
  正在安装    : libdnf-0.22.5-2.el7_9.x86_64                                                              4/14
  正在安装    : python2-libdnf-0.22.5-2.el7_9.x86_64                                                      5/14
  正在安装    : python2-hawkey-0.22.5-2.el7_9.x86_64                                                      6/14
  正在安装    : libreport-filesystem-2.1.11-53.el7.centos.x86_64                                          7/14
  正在安装    : dnf-data-4.0.9.2-2.el7_9.noarch                                                           8/14
  正在安装    : libcomps-0.1.8-14.el7.x86_64                                                              9/14
  正在安装    : python2-libcomps-0.1.8-14.el7.x86_64                                                     10/14
  正在安装    : python-enum34-1.0.4-1.el7.noarch                                                         11/14
  正在安装    : deltarpm-3.6-3.el7.x86_64                                                                12/14
  正在安装    : python2-dnf-4.0.9.2-2.el7_9.noarch                                                       13/14
  正在安装    : dnf-4.0.9.2-2.el7_9.noarch                                                               14/14
  验证中      : python2-libcomps-0.1.8-14.el7.x86_64                                                      1/14
  验证中      : dnf-4.0.9.2-2.el7_9.noarch                                                                2/14
  验证中      : librepo-1.8.1-8.el7_9.x86_64                                                              3/14
  验证中      : python2-hawkey-0.22.5-2.el7_9.x86_64                                                      4/14
  验证中      : deltarpm-3.6-3.el7.x86_64                                                                 5/14
  验证中      : libmodulemd-1.6.3-1.el7.x86_64                                                            6/14
  验证中      : dnf-data-4.0.9.2-2.el7_9.noarch                                                           7/14
  验证中      : libdnf-0.22.5-2.el7_9.x86_64                                                              8/14
  验证中      : python-enum34-1.0.4-1.el7.noarch                                                          9/14
  验证中      : python2-dnf-4.0.9.2-2.el7_9.noarch                                                       10/14
  验证中      : libcomps-0.1.8-14.el7.x86_64                                                             11/14
  验证中      : libsolv-0.6.34-4.el7.x86_64                                                              12/14
  验证中      : libreport-filesystem-2.1.11-53.el7.centos.x86_64                                         13/14
  验证中      : python2-libdnf-0.22.5-2.el7_9.x86_64                                                     14/14

已安装:
  dnf.noarch 0:4.0.9.2-2.el7_9

作为依赖被安装:
  deltarpm.x86_64 0:3.6-3.el7                                  dnf-data.noarch 0:4.0.9.2-2.el7_9
  libcomps.x86_64 0:0.1.8-14.el7                               libdnf.x86_64 0:0.22.5-2.el7_9
  libmodulemd.x86_64 0:1.6.3-1.el7                             librepo.x86_64 0:1.8.1-8.el7_9
  libreport-filesystem.x86_64 0:2.1.11-53.el7.centos           libsolv.x86_64 0:0.6.34-4.el7
  python-enum34.noarch 0:1.0.4-1.el7                           python2-dnf.noarch 0:4.0.9.2-2.el7_9
  python2-hawkey.x86_64 0:0.22.5-2.el7_9                       python2-libcomps.x86_64 0:0.1.8-14.el7
  python2-libdnf.x86_64 0:0.22.5-2.el7_9

完毕!
[root@vmi1590926 ~]# sudo dnf install nodejs

CentOS-7-Base                                                                  1.6 MB/s |  10 MB     00:06
CentOS-7-Updates                                                               6.6 MB/s |  30 MB     00:04
N|Solid Packages for Linux RPM based distros - x86_64                          576 kB/s | 116 kB     00:00
Node.js Packages for Linux RPM based distros - x86_64                          9.4 MB/s | 781 kB     00:00
Extra Packages for Enterprise Linux 7 - x86_64                                 4.8 MB/s |  17 MB     00:03
Docker CE Stable - x86_64                                                      1.0 MB/s |  65 kB     00:00
Yarn Repository                                                                1.2 MB/s | 316 kB     00:00
CentOS-7 - Extras                                                              258 kB/s | 360 kB     00:01
依赖关系解决。

 问题: cannot install the best candidate for the job
  - nothing provides libm.so.6(GLIBC_2.27)(64bit) needed by nodejs-2:18.19.0-1nodesource.x86_64
  - nothing provides libstdc++.so.6(CXXABI_1.3.9)(64bit) needed by nodejs-2:18.19.0-1nodesource.x86_64
  - nothing provides libstdc++.so.6(GLIBCXX_3.4.20)(64bit) needed by nodejs-2:18.19.0-1nodesource.x86_64
  - nothing provides libstdc++.so.6(GLIBCXX_3.4.21)(64bit) needed by nodejs-2:18.19.0-1nodesource.x86_64
  - nothing provides libc.so.6(GLIBC_2.28)(64bit) needed by nodejs-2:18.19.0-1nodesource.x86_64
  - nothing provides glibc >= 2.28 needed by nodejs-2:18.19.0-1nodesource.x86_64
===============================================================================================================
 软件包                   架构             版本                              仓库                         大小
===============================================================================================================
Installing:
 nodejs                   x86_64           1:16.20.2-1.el7                   epel                         96 k
安装依赖关系:
 libbrotli                x86_64           1.0.9-10.el7                      epel                        308 k
 libuv                    x86_64           1:1.44.2-1.el7                    epel                        145 k
 nodejs-libs              x86_64           1:16.20.2-1.el7                   epel                         13 M
 openssl11                x86_64           1:1.1.1k-6.el7                    epel                        693 k
 openssl11-libs           x86_64           1:1.1.1k-6.el7                    epel                        1.5 M
跳过存在损坏依赖关系的软件包 :
 nodejs                   x86_64           2:18.19.0-1nodesource             nodesource-nodejs            34 M

事务概要
===============================================================================================================
安装  6 软件包
跳过  1 软件包

总下载:16 M
安装大小:56 M
确定吗?[y/N]: 确定吗?[y/N]: y
下载软件包:
(1/6): nodejs-16.20.2-1.el7.x86_64.rpm                                          46 kB/s |  96 kB     00:02
(2/6): libuv-1.44.2-1.el7.x86_64.rpm                                            63 kB/s | 145 kB     00:02
(3/6): libbrotli-1.0.9-10.el7.x86_64.rpm                                       120 kB/s | 308 kB     00:02
(4/6): openssl11-1.1.1k-6.el7.x86_64.rpm                                       855 kB/s | 693 kB     00:00
(5/6): openssl11-libs-1.1.1k-6.el7.x86_64.rpm                                  1.7 MB/s | 1.5 MB     00:00
(6/6): nodejs-libs-16.20.2-1.el7.x86_64.rpm                                    5.9 MB/s |  13 MB     00:02
---------------------------------------------------------------------------------------------------------------
总计                                                                           2.8 MB/s |  16 MB     00:05
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中      :                                                                                            1/1
  Installing  : openssl11-libs-1:1.1.1k-6.el7.x86_64                                                       1/6
  运行脚本    : openssl11-libs-1:1.1.1k-6.el7.x86_64                                                       1/6
  Installing  : libuv-1:1.44.2-1.el7.x86_64                                                                2/6
  运行脚本    : libuv-1:1.44.2-1.el7.x86_64                                                                2/6
  Installing  : libbrotli-1.0.9-10.el7.x86_64                                                              3/6
  Installing  : nodejs-libs-1:16.20.2-1.el7.x86_64                                                         4/6
  Installing  : openssl11-1:1.1.1k-6.el7.x86_64                                                            5/6
  Installing  : nodejs-1:16.20.2-1.el7.x86_64                                                              6/6
  验证        : libbrotli-1.0.9-10.el7.x86_64                                                              1/6
  验证        : libuv-1:1.44.2-1.el7.x86_64                                                                2/6
  验证        : nodejs-1:16.20.2-1.el7.x86_64                                                              3/6
  验证        : nodejs-libs-1:16.20.2-1.el7.x86_64                                                         4/6
  验证        : openssl11-1:1.1.1k-6.el7.x86_64                                                            5/6
  验证        : openssl11-libs-1:1.1.1k-6.el7.x86_64                                                       6/6

已安装:
  nodejs-1:16.20.2-1.el7.x86_64        libbrotli-1.0.9-10.el7.x86_64     libuv-1:1.44.2-1.el7.x86_64
  nodejs-libs-1:16.20.2-1.el7.x86_64   openssl11-1:1.1.1k-6.el7.x86_64   openssl11-libs-1:1.1.1k-6.el7.x86_64

Skipped:
  nodejs-2:18.19.0-1nodesource.x86_64

完毕!