如何在 DNF 包管理器中搜索某个包的所有可用版本?

如何在 DNF 包管理器中搜索某个包的所有可用版本?

我想知道如何搜索特定包的所有可用版本。

了解我的情况可能会有助于我准确了解我想要做什么。

我使用 Node.js、npm、TypeScript、JavaScript、Express JS、React TSX/JSX、Mocha/JEST 和许多其他东西为客户开发软件。

上述所有软件均可通过以下方式获取“Npm”,其中大部分在 Node.js 运行时环境中运行。

许多客户只能使用特定版本的 Node.js、TypeScript、Npm 和/或 Npm 软件包。因此,我必须安装最新版本的 Node.js、Node.js 的 LTS 版本以及所有尚未达到 EoL 的版本。

我使用启动Ubuntu,我显然会使用Apt包管理器来搜索和下载包。“乌班图”&apt但是,在某些软件包方面存在一些问题,尤其是在尝试更改版本时。不幸的是,Node.js 是一款难以使用“Ubuntu”切换到不同版本的软件apt。这个难题导致我习惯于手动安装 Node、Npm,并手动将全局 npm bin 目录添加到我的路径和/或软链接它们。

一年多前,我因为其他与 Node.js 无关的原因切换到 Fedora Workstation 35(目前我刚刚升级到 37 预发布版本)。由于我在使用 Ubuntu 时遇到的问题,我习惯于手动安装 Npm 和 Node.js,并且在启动 Fedora 时我继续了这种做法。我决定看看是否可以使用 DNF 安装不同版本的节点,但我遇到的问题是,当我使用 DNF 搜索时,它只返回包的名称,通知我它可以下载,但它没有提到它是什么版本,以及是否有其他版本可用。

有人知道如何搜索dnf所有可用的 Node.js 包和 Npm 包吗?

答案1

好的,所以我知道了如何找到给定软件的所有可用软件包。

为了查看该软件是否可以通过dnf,我将首先运行以下命令。

$ dnf search pkg-name-here

如果它返回的结果看起来像我正在搜索的软件,那么我将执行:

$ dnf search --showduplicates pkg-name-here

如果您搜索的软件包名称有多个可用的软件包,则该--showduplicates标志将打印所有可用软件包的列表,以及每个软件包的版本信息。

在我看来这是一个非常有用的标志。

答案2

此外,安装包时,自动完成功能TAB将显示所有可用的匹配,包括不同的版本:

dnf in brave-browser  (pressing TAB here)

brave-browser-1.51.114-1.x86_64  brave-browser-1.52.130-1.x86_64  brave-browser-1.57.53-1.x86_64   brave-browser-1.58.129-1.x86_64  brave-browser-1.59.124-1.x86_64
brave-browser-1.51.118-1.x86_64  brave-browser-1.56.11-1.x86_64   brave-browser-1.57.57-1.x86_64   brave-browser-1.58.131-1.x86_64  brave-browser-1.60.110-1.x86_64
brave-browser-1.52.117-1.x86_64  brave-browser-1.56.14-1.x86_64   brave-browser-1.57.62-1.x86_64   brave-browser-1.58.135-1.x86_64  brave-browser-1.60.114-1.x86_64
brave-browser-1.52.122-1.x86_64  brave-browser-1.56.20-1.x86_64   brave-browser-1.57.64-1.x86_64   brave-browser-1.58.137-1.x86_64  
brave-browser-1.52.126-1.x86_64  brave-browser-1.56.9-1.x86_64    brave-browser-1.58.124-1.x86_64  brave-browser-1.59.117-1.x86_64  
brave-browser-1.52.129-1.x86_64  brave-browser-1.57.47-1.x86_64   brave-browser-1.58.127-1.x86_64  brave-browser-1.59.120-1.x86_64

不需要sudo,也不需要实际执行命令。
dnf可能需要一点时间来显示匹配,因为它会刷新缓存。

相关内容