强制 apt-get 安装更高版本的 nodejs

强制 apt-get 安装更高版本的 nodejs

我使用的是 Debian 11,完全是最新的 ( apt-get update && apt-get upgrade && apt-get dist-upgrade)。我之前安装了nodejs12.22 版本,因为这是 Debian 存储库中的版本,如下所示:

$ sudo apt-get install nodejs
$ node -v
v12.22.5

不过我想使用 v14.18。我删除了节点版本 12 的所有痕迹,如下所示:

$ sudo apt-get remove --purge nodejs

然后使用nodejs添加PPAhttps://github.com/nodesource/distributions

$ curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup_14_lts.sh
$ sudo bash nodesource_setup_14_lts.sh

我可以看到它已在以下位置添加了新的 PPA /etc/apt/sources.list.d/

$ cat /etc/apt/sources.list.d/nodesource.list 
deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main
$ sudo apt-get update
Hit:1 http://httpredir.debian.org/debian bullseye InRelease
Hit:2 http://httpredir.debian.org/debian-security bullseye-security InRelease
Hit:3 http://httpredir.debian.org/debian bullseye-updates InRelease
Hit:4 https://deb.nodesource.com/node_14.x bullseye InRelease
Reading package lists... Done

但现在当我去安装时nodejs它仍然使用版本 12 :(

$ sudo apt-get install nodejs --dry-run
The following NEW packages will be installed:
  nodejs
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst nodejs (12.22.5~dfsg-2~11u1 Debian:11.1/stable, Debian-Security:11/stable-security [i386])
Conf nodejs (12.22.5~dfsg-2~11u1 Debian:11.1/stable, Debian-Security:11/stable-security [i386])

似乎没有使用新的 PPA 来决定安装apt-get的版本。nodejs如何在系统范围内安装 v14.18?

编辑

请注意,我使用的是 32 位机器:

$ uname -m
i686

当我在另一台 64 位计算机上执行上述过程时,它工作正常,并且从 PPA 安装版本 14.18。

额外要求的信息:

$ apt-cache policy nodejs
nodejs:
  Installed: (none)
  Candidate: 12.22.5~dfsg-2~11u1
  Version table:
     12.22.5~dfsg-2~11u1 500
        500 http://httpredir.debian.org/debian bullseye/main i386 Packages
        500 http://httpredir.debian.org/debian-security bullseye-security/main i386 Packages

答案1

i386 版本已被放弃。查看可用架构

NodeSource 将继续维护以下架构,并可能在将来添加其他架构。

amd64 (64-bit)
armhf (ARM 32-bit hard-float, ARMv7 and up: arm-linux-gnueabihf)
arm64 (ARM 64-bit, ARMv8 and up: aarch64-linux-gnu)

您必须nodejs从 debian 存储库而不是节点存储库安装。

相关内容