MSYS2 MinGW 不包括 mingw-get 包管理器

Posted

技术标签:

【中文标题】MSYS2 MinGW 不包括 mingw-get 包管理器【英文标题】:The MSYS2 MinGW doesn't include mingw-get package manager 【发布时间】:2020-03-14 01:40:51 【问题描述】:

我已经从 their website 安装了 MSYS2,但是我找不到 mingw-get 包管理器。我尝试通过

搜索 MSYS2 包
pacman -Ss mingw-get

并查看安装文件夹C:\msys64\mingw64\bin,但它根本不存在。我的问题是:

MSYS2 附带的 MinGW 是否包含 mingw-get 包管理器? 如果没有,我该如何安装?

【问题讨论】:

【参考方案1】:

MSYS2 不包含mingw-get,而是使用pacman

来自他们的网站:

它具有包管理系统Pacman,可轻松安装包。它带来了许多强大的功能,例如依赖解析和简单的完整系统升级,以及直接的包构建。

Pacman 比 mingw-get 强大得多。您应该能够使用 Pacman 而不是 mingw-get 安装其他软件包。

MSYS2 是围绕 Pacman 构建的。因此,即使您可以安装 mingw-get(例如,手动下载并解压缩它,或者从源代码重建它),它也不可能在 MSYS2 安装中发挥任何作用。

Pacman 的采用还决定了包的构建方式(通过带有构建规则的 PKGBUILD 文件),这就是为什么 MSYS2 是 MSYS 的重写,每个包构建都是从头开始重新构建的。 Pacman 是 MSYS2 的核心,很难将它们彼此分离。

(也许可以对 Linux 发行版进行类似的比较。您可以在 Debian 上安装 rpm,在 Fedora 上安装 dpkg 吗?是的,您可以,但您很可能无法使用它们来管理安装在您的发行版上的软件包,因为该发行版是围绕另一个软件包管理器构建的,该软件包管理器是该发行版的核心,以一种很难与之分离的方式。)

【讨论】:

@Foad mingw-get 是 MSYS1 的东西,所以即使你 可以 在 MSYS2 下安装它(例如,手动下载并解压缩它),它也不太可能在你的 MSYS2 安装中做任何有用的事情,它被构建为使用 Pacman 来管理。 或者,也许:mingw-get 是/曾经是 MinGW 的一部分,由于采用 Pacman 以更好地履行该角色,在 MSYS2 中已过时。 mingw-w64 和 msys2 是从早期的 mingw 和 msys 项目中派生出来的(尽管 MSYS2 可能被描述为一个新项目而不是一个派生项目) @Foad msys2 包括 mingw-w64(不是 mingw.org)。不知道您所说的“与上游同步”是什么意思 @Foad 你可能会觉得这个页面很有趣:github.com/msys2/msys2/wiki/History

以上是关于MSYS2 MinGW 不包括 mingw-get 包管理器的主要内容,如果未能解决你的问题,请参考以下文章

如何解决mingw-get下载报错

Msys2+mingw-w64 编译VS2013使用的ffmpeg静态库注意事项

调试使用 mingw/msys2 构建的 Windows 服务

msys2 找不到 mingw64

windows搭建gcc开发环境(msys2)

msys2 (mingw) 默认库/包含路径配置