MSYS2简要介绍
MSYS2(Minimal SYStem 2)是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin和 MinGW-w64 基础上产生的,追求更好的互操作性的 Windows 软件。
MSYS2 是 MSYS 的一个升级版,准确的说是集成了 pacman 和 Mingw-w64 的 Cygwin 升级版,提供了bash shell 等 Linux 环境、版本控制软件(git/hg)和 MinGW-w64 工具链。与 MSYS 最大的区别是移植了 Arch Linux 的软件包管理系统 Pacman(其实是与Cygwin的区别)。
1 安装包速度下载慢?
MSYS2官网地址为https://www.msys2.org/,可以在上面下载相关的终端工具,但是速度可能比较慢。可以使用国内各大镜像软件站,在相应的目录中查找MSYS2 进行下载,比如 :
- 清华大学开源软件镜像站https://mirror.tuna.tsinghua.edu.cn/,
- 中科大开源软件镜像站https://mirrors.ustc.edu.cn/,
- 北京理工大学http://mirror.bit.edu.cn/web/,
- 阿里云开源软件镜像站https://developer.aliyun.com/mirror/等等。寻找到MSYS2进行相应版本下载即可,一般可以选择最新的版本。其他的软件也可以在这些网站下载。
2 安装占用空间?
官网教程的步骤(https://www.msys2.org/)默认的是安装在C盘,这里可以安装在D盘或其他盘。
3 包下载慢?
安装完成以后,应该按照各个镜像网站的要求更改镜像源,确保下载包时候得到最新的。以清华镜像源为例https://mirror.tuna.tsinghua.edu.cn/help/msys2/,进行下面的设置。
打开安装MSYS2的文件夹,找到etc/pacman.d/文件夹,对下面的文件依次进行修改:
(1) 编辑mirrorlist.mingw32,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
(2) 编辑mirrorlist.mingw64,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
(3) 编辑mirrorlist.msys,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后在MSYS2的命令行中执行 pacman -Sy 刷新软件包数据即可。
4 网络下载超时?
MSYS2的命令行显示网络time out,可能的原因是没有设置网络服务器代理1和2,在MSYS2安装目录的etc文件夹下找到profile和bash.bashrc文件里写入:
export http_proxy=username:password@ip:port
export https_proxy=username:password@ip:port
或
export http_proxy=ip:port
export https_proxy=ip:port
(假如不需要用户密码)
上述变量等号左右两边不要有空格
与此同时,在 msys64\home\用户名 目录下的.bash_profile、.bashrc、.profile中写入上述的两行代理。
5 Msys出现无法升级msys
当出现“Msys出现无法升级msys(无效或损坏数据库(PGP签名))问题”这个问题时候,内心是崩溃的,不过网上找到了解决办法3和4:
首先,打开了msys64目录下的etc/pacman.conf文件,文件选项说明见https://www.archlinux.org/pacman/pacman.conf.5.html#_package_and_database_signature_checking,然后在后面加上以下三句话,将sigLevel设置成了Optional TrustALL,然后把Server设为一个软件源的地址:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
更新一下密钥
pacman-key --refresh-keys
然后重新加载相应的签名密钥
Pacman-key --init
pacman-key --populate
详细的可以参考https://wiki.archlinux.org/index.php/Pacman_(简体中文)/Package_signing_(简体中文)
6 功能快捷键
MSYS2命令行中输入:
pacman -h
查询即可。