MSYS2 配置
介绍
MSYS2 是 MSYS 的一个升级版,准确的说是集成了 pacman 和 Mingw-w64 的 Cygwin 升级版。与 MSYS 最大的区别是移植了 Pacman。
比较
特点 | Cygwin | MinGW/MSYS | MSYS2 |
---|---|---|---|
是否 GNU | 否 | 是 | 是 |
软件支持? | 支持绝大多数的 GNU 软件 | 支持常用软件 | 支持大多数 GNU 软件 |
更类似 Linux? | 在 Windows 中模拟 Linux | 实现了 Bash 等主要的 Linux 程序 | 原生 64/32bit 支持 |
GCC 编译 | 独立的 Windows/Linux 程序编译 (MingGW32 交叉编译 / 依赖 cygwin1.dll) | 独立的 Windows 程序编译 | 独立的 Windows 程序编译 |
中文支持 | 直接支持中文显示和输入法 | 需要配置才能支持中文显示和输入,删除一个中文字符需要删除 2 次 | 支持中文显示和输入法,中文帮助系统和中文提示(部分软件) |
运行速度 | 慢 | 快 | 快 |
安装
安装 MSYS2
从官网下载 MSYS2 安装文件,一路 Next 即可。
安装开发环境
pacman -S --needed base-devel msys2-devel mingw-w64-x86_64-toolchain
配置
环境变量
1 | MSYS_HOME=D:\msys64 |
镜像配置
如果网络环境不好的话,可以增加国内的镜像,速度改进非常明显。
修改 /etc/pacman.d/
文件夹中修改 mirrorlist
开头的三个文件:
mirrorlist.mingw32
1 | ## |
mirrorlist.mingw64
1 | ## |
mirrorlist.msys
1 | ## |
代理
如果需要通过代理才能上网的话,可以在 /etc/profile.d/
增加 proxy.sh
,内容如下:
1 | export http_proxy=%PROXY_SERVER%:%PROXY_PORT% |
用户目录
修改 /etc/fstab
,映射用户目录,与宿主共享配置,这样类似 gitconfig 这样的配置只需要配置一份。
1 | # For a description of the file format, see the Users Guide |
公用 HOME 目录
环境变量中添加 MSYS2_PATH_TYPE
值为 inherit
包管理
刷新软件包
pacman -Sy
安装新包
pacman -S <package_names|package_groups>
删除
pacman -R <package_names|package_groups>
搜索
pacman -Ss <name_pattern>
更多请参考 Arch Linux wiki.
安装 zsh
和 oh my zsh
- 安装
zsh
1 | pacman -Syu |
- 安装
oh my zsh
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
zsh 的配置文件是
~/.zshrc
,可以通过编辑这个文件来指定主题,插件。
重新安装
如果在使用过程中, MSYS2 出现不可恢复的问题的时候,可以通过保存安装的 packages 到文件中,再通过此文件重新安装。
- 保存现有安装包列表到 C 盘中的
packages.txt
pacman -Qqe | xargs echo > /c/packages.txt ; exit
- 根据保存的
packages.txt
安装
1 | pacman -Sy |
坑
如果你使用 MacType 的话,请一定在 default.ini
(MacType 的配置文件) 添加 gpg/pacman 的例外。
1 | [UnloadDll] |
via #393 GPGME error: Invalid crypto engine
如果你使用 VirtualBox 4.3.14+ 的话,也需要把相关进程排除。via VirtualBox 4.3.12 以后的 E_FAIL (0x80004005) 问题
—EOF—