官网
换源
|
|
MSYS2中MINGW_PACKAGE_PREFIX对应关系
Name | MINGW_PACKAGE_PREFIX |
---|---|
MSYS | None |
MINGW64 | mingw-w64-x86_64- |
UCRT64 | mingw-w64-ucrt-x86_64- |
CLANG64 | mingw-w64-clang-x86_64- |
MINGW32 | mingw-w64-i686- |
CLANG32 | mingw-w64-clang-i686- |
CLANGARM64 | mingw-w64-clang-aarch64- |
安装记录
安装工具链
- pacman -S mingw-w64-x86_64-toolchain
- pacman -S mingw-w64-ucrt-x86_64-toolchain
- pacman -S mingw-w64-clang-x86_64-toolchain
- pacman -S mingw-w64-i686-toolchain
- pacman -S mingw-w64-clang-i686-toolchain
- pacman -S mingw-w64-clang-aarch64-toolchain
- pacman -S $MINGW_PACKAGE_PREFIX-toolchain
安装Qt5库
- pacman -S mingw-w64-x86_64-qt5-static
- pacman -S mingw-w64-ucrt-x86_64-qt5-static
- pacman -S mingw-w64-clang-x86_64-qt5-static
- pacman -S mingw-w64-i686-qt5-static
- pacman -S mingw-w64-clang-i686-qt5-static
- pacman -S mingw-w64-clang-aarch64-qt5-stat
- pacman -S $MINGW_PACKAGE_PREFIX-qt5-static
安装Qt6库
- pacman -S mingw-w64-ucrt-x86_64-qt6-static
仅安装编译工具
- pacman -S mingw-w64-ucrt-x86_64-gcc
- pacman -S mingw-w64-x86_64-gcc
- pacman -S mingw-w64-i686-gcc
- pacman -S mingw-w64-clang-x86_64-gcc
- pacman -S mingw-w64-clang-i686-gcc
安装make
- pacman -S mingw-w64-ucrt-x86_64-make
- pacman -S mingw-w64-clang-x86_64-make
安装GDB
- pacman -S mingw-w64-ucrt-x86_64-gdb
- pacman -S mingw-w64-clang-x86_64-lldb
仅MSYS2环境下的工具安装
pacman -S binutils //二进制工具集
pacman -S gcc //GNU编译器集合-C和C++前端
pacman -S gcc-libs //GCC提供的运行时库
pacman -S gdb //GNU调试器
pacman -S gettext //GNU国际化库
pacman -S gettext-devel //GNU国际化开发实用程序
pacman -S make //make工具
安装其他
- pacman -S base //Minimal package set to define a basic MSYS2 installation
- pacman -S base-devel //Minimal package set for building packages with makepkg
- pacman -S vim
- pacman -S yasm
- pacman -S nasm
备注
MSYS2中有两种工具链:
- 一种是原生GCC,其编译的是UNIX代码,运行依赖msys2xxx.dll;
- 一种是mingw工具链,用于编译windows代码(能调用windows API,不能调用unix系统调用)的, 生成exe,运行时只依赖windows系统的dll。
更新和维护MSYS2
通过安装程序或其他方式安装 MSYS2 后,您需要继续使用内置工具对其进行更新。MSYS2 是一个滚动发布发行版,仅支持完整的系统升级,这意味着各种软件包经常进行次要和主要更新,并且您只能一次更新所有软件包。 若要更新所有包,请运行以下命令:
|
|
在某些情况下,某些核心软件包会被更新,pacman 会提示你关闭所有终端:
|
|
确认后,您需要启动一个新终端并再次运行更新,以更新剩余的非核心包。pacman -Suy
其他命令参考
1. 安装软件
- pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可。
- pacman -S –needed 软件名1 软件名2: 安装软件,但不重新安装已经是最新的软件。
- pacman -Sy 软件名:安装软件前,先从远程仓库下载软件包数据库(数据库即所有软件列表)。
- pacman -Sv 软件名:在显示一些操作信息后执行安装。
- pacman -Sw 软件名: 只下载软件包,不安装。
- pacman -U 软件名.pkg.tar.gz:安装本地软件包。
- pacman -U http://www.example.com/repo/example.pkg.tar.xz : 安装一个远程包(不在 pacman 配置的源里面)。
2. 更新系统
- pacman -Sy: 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)。
- pacman -Su: 升级所有已安装的软件包。
3. 卸载软件
- pacman -R 软件名: 该命令将只删除包,保留其全部已经安装的依赖关系
- pacman -Rv 软件名: 删除软件,并显示详细的信息
- pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件。
- pacman -Rsc 软件名: 删除软件,并删除所有依赖这个软件的程序,慎用
- pacman -Ru 软件名: 删除软件,同时删除不再被任何软件所需要的依赖
4. 搜索软件
- pacman -Ss 关键字: 在仓库中搜索含关键字的软件包(本地已安装的会标记)
- pacman -Sl
:显示软件仓库中所有软件的列表。可以省略,通常这样用: pacman -Sl | 关键字
- pacman -Qs 关键字: 搜索已安装的软件包
- pacman -Qu: 列出所有可升级的软件包
- pacman -Qt: 列出不被任何软件要求的软件包
查看软件信息
- pacman -Q 软件名: 查看软件包是否已安装,已安装则显示软件包名称和版本
- pacman -Qi 软件名: 查看某个软件包信息,显示较为详细的信息,包括描述、构架、依赖、大小等等
- pacman -Ql 软件名: 列出软件包内所有文件,包括软件安装的每个文件、文件夹的名称和路径
5. 软件包组
pacman -Sg: 列出软件仓库上所有的软件包组 pacman -Qg: 列出本地已经安装的软件包组和子包 pacman -Sg 软件包组: 查看某软件包组所包含的所有软件包 pacman -Qg 软件包组: 和pacman -Sg 软件包组完全一样
6. 清除缓存
-
pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
-
pacman -Scc:清理所有的缓存文件。
pacman 安装包缓存位置及清理
如果进行系统更新时,磁盘不足,清理软件安装包缓存是一种可行的方案.
pacman 会将自己下载的软件压缩包保存在 /var/cache/pacman/pkg/目录下,
默认情况下并不会删除安装包,即便软件已经卸载.
下面提供几个清理程度不同的命令. -
paccache -r # 清理缓存,仅包含最近的三个版本
-
paccache -rk1 # 清理缓存,仅包含最近的1个版本
-
pacman -Sc # 清理未安装软件包
-
pacman -Scc # 清理缓存中所有内容