如何使用 MSYS2 获取旧版本的软件包?

Posted

技术标签:

【中文标题】如何使用 MSYS2 获取旧版本的软件包?【英文标题】:How to obtain older versions of packages using MSYS2? 【发布时间】:2016-03-02 09:20:03 【问题描述】:

我决定尝试 CLion for Windows,它推荐使用 MinGW 或 Cygwin 进行编译。

我将MSYS2 包管理器安装到默认文件夹C:\msys64 中,通过运行update-corepacman -Su 对其进行了更新。

然后我使用pacman -S mingw-w64-x86_64-gcc下载了MinGW64包,已经放入C:\msys64\mingw64

问题是,pacman -S mingw-w64-x86_64-gcc 目前下载的是 5.0 版本,CLion 还不支持。

MSYS2 是否支持安装旧版本的软件包(MinGW 版本 4.9.2 应该可以正常工作)?我尝试使用pacman -Ss mingw 搜索 MinGW 包,但列表非常长,而且我之前没有使用过 MinGW,我真的不知道该选择什么。

【问题讨论】:

【参考方案1】:

不,MSYS2 不直接支持安装旧版本的软件包。不过,您可以执行以下操作:

查看http://repo.msys2.org/ 以查看您要查找的版本是否恰好仍在服务器上。它最终会被删除,但你可能会很幸运。您可以下载它,然后使用pacman -U filename.tar.xz 安装它 存储库 https://github.com/Alexpux/MINGW-packages 和 https://github.com/Alexpux/MSYS2-packages 包含所有 MSYS2 包的构建脚本,因此您可以查看它们的版本历史以找到构建您感兴趣的包的脚本。

GCC 是较难构建和使用的软件包之一,因此您可能很难从源代码编译它。另请注意,C++ ABI 在 GCC 4 和 5 或类似版本之间发生了变化,因此您使用旧 GCC 构建的二进制文件可能不适用于使用 GCC 5 编译的任何 MSYS2 C++ 共享库。

【讨论】:

这实际上是一个很好的解决方案,因为事实证明“最终”有一条很长的尾巴。 MSYS2 在 ImageMagick 7.0.8 上(ImageMagick 7 仍然与 anything 不兼容,真的),但 repo.msys2.org/mingw/x86_64 still 包含 mingw-w64-imagemagick 构建一路回溯到 2015 年 6 月!

以上是关于如何使用 MSYS2 获取旧版本的软件包?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 apt-get 安装旧版本的 php?

如何在 Windows 7+ 和 MSYS2 上的 GTK3 上获取本机 Windows 装饰

安卓软件升级软件如何覆盖旧版

如何使用 msys 1.0 新软件包在 MinGW 中安装?

如何卸载使用 easy_install 安装的软件包的非活动版本

升级 R 版本后,如何轻松重新安装旧版本中安装的所有软件包? [复制]