MSYS2 使用
创始人
2024-02-12 10:52:38

标题

  • 1. MSYS2 使用
  • 1. 配置
    • 1.1. 镜像
      • 1.1.1. 使用中科大的镜像
    • 1.2. 开启颜色
    • 1.3. 文件目录映射
    • 1.4. 环境变量
      • 1.4.1. vim 高亮配置
      • 1.4.2. 任务栏快捷键
      • 1.4.3. 添加右键快捷方式 (2018-10-29 win10>)
  • 2. `zsh` 和 `oh my zsh`
    • 2.1. 自动启动 zsh
    • 2.2. 安装 zsh 插件
    • 2.3. zsh 查看支持插件的方法
    • 2.4. zsh 命令自动补全插件
      • 2.4.1. `zsh-autosuggestions` 自动补全插件
      • 2.4.2. `incr` 也是自动补全插件
  • 3. 安装软件
    • 3.1. 常用命令
    • 3.2. 升级
      • 3.2.1. 升级核心包
      • 3.2.2. 升级其他包
    • 3.3. 制作软件包 makepkg
      • 3.3.1. 常用软件包编译
      • 3.3.2. openssl
      • 3.3.3. zlib

1. MSYS2 使用

MSYS2 官网: https://www.msys2.org/

1. 配置

1.1. 镜像

1.1.1. 使用中科大的镜像

编辑 /etc/pacman.d/mirrorlist.mingw32, 在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

编辑 /etc/pacman.d/mirrorlist.mingw64, 在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

编辑 /etc/pacman.d/mirrorlist.msys, 在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

然后执行 pacman -Sy 更新本地包数据即可。

1.2. 开启颜色

pacman 的显示输出默认是黑白的, 东西一多难免有点乱。所以建议开启颜色。在 pacman.conf 中去掉 color 的注释即可

vim /etc/pacman.conf

1.3. 文件目录映射

msys64\etc\fstab

比如配置 C:\Users\lenovo\Desktop /desktop 后, 可以在终端直接 cd /desktop 后可以直接切换到 C:\Users\lenovo\Desktop 目录下。

1.4. 环境变量

MSYS2 有三个执行脚本, 分别是 msys2_shell.batmingw32_shell.batmingw64_shell.bat, 查看内容可以看到其中只有一行区别, 即是设定 MSYSTEM 变量。这个变量在 /etc/profile 中会用到:

可见, 三个 .bat 的区别就是 PATH 的设置, mingw32_shell.bat 优先使用 msys64/mingw32 下的工具, mingw64_shell.bat 优先使用 msys64/mingw64 下的工具, 而 msys2_shell.bat 两个都不使用, 只用自身 msys 的工具。这么做的好处是当需要编译 32bit Target 的项目时使用 mingw32_shell.bat, 64 bit 使用 mingw64_shell.bat, 各套工具互不干扰。

1.4.1. vim 高亮配置

msys64\etc\skel.vimrc 拷贝到用户目录下。

1.4.2. 任务栏快捷键

msys64\usr\bin\mintty.exe 拖拽到任务栏上, 右击选择属性, 将目标改成三种 BAT 脚本中的一个。

1.4.3. 添加右键快捷方式 (2018-10-29 win10>)

msys2.reg

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64]
@="MinGW &64 Bash Here"
"Icon"="D:\\msys64\\msys2.ico"[HKEY_CLASSES_ROOT\Directory\Background\shell\Mingw64\command]
@="D:\\msys64\\msys2_shell.cmd -mingw64 -here"

2. zshoh my zsh

zsh 的提示很爽的, 所以推荐用 zsh 把默认的 bash 换掉。oh my zsh 是简化 zsh 配置的工具。首先通过 pacman 安装 zsh, 因为一会安装 oh my zsh 的时候会用到 git, 所以也一并装了。

  1. 更新软件包
pacman -Syu
  1. 安装 zsh 和 git
pacman -S zsh git
  1. 安装 oh my zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

2.1. 自动启动 zsh

在 .bash_profile 文件最后一行添加:

zsh

2.2. 安装 zsh 插件

其实默认 oh my zsh(以下简称 zsh) 已经在安装的时候就帮我们下载好了所有插件, 只不过需要用户自己选择启用哪个. 根据官网的说明, 需要做的很少, 下面就来实际操作一下吧.

打开文件 ~/.zshrc, 其中有如下行:

plugins=(git)

将需要的插件按空格分开, 放于此处即可。我的配置如下:

plugins=(git extract z sublime)

修改完后, 如果需要在当前 shell 中生效, 需要执行

source ~/.zshrc

2.3. zsh 查看支持插件的方法

方法一: 直接查看 github 的 zsh 官网

方法二: 因为 zsh 在安装的时候帮我们下载了所有插件, 所以也可以本地查看. 进到默认插件目录: cd ~/.oh-my-zsh/plugins

2.4. zsh 命令自动补全插件

2.4.1. zsh-autosuggestions 自动补全插件

  1. 下载该插件到 .oh-my-zsh 的插件目录
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
  1. 编辑 .zshrc 文件

找到 plugins=(git) 这一行, 如果没有添加。更改为如下

plugins=(git zsh-autosuggestions)
  1. 重启命令

2.4.2. incr 也是自动补全插件

  1. 下载自动补全插件 http://mimosa-pudica.net/src/incr-0.2.zsh

  2. 放到 oh-my-zsh 的插件库中

.oh-my-zsh/plugins/ 创建 incr 文件夹放到该文件夹中

  1. 在. zshrc 中添加

.zshrc 文件末尾添加下面这行

source ~/.oh-my-zsh/plugins/incr/incr*.zsh
  1. 重启命令行

3. 安装软件

pacman 是 MSYS2 自带的软件管理工具。同时, pacman 也是 ArchLinux 上的包管理器。关于 pacman 的详细使用说明可以参考 ArchWiki 上的这篇 文章。

3.1. 常用命令

命令功能
pacman -Q查看已安装的软件包
pacman -S -g查看软件组
pacman -Q -g base-devel查看软件组包含的软件
pacman -Q -l vim查询软件包的内容
pacman -Q -s nettle查询软件所在的包

查看工具帮助:

pacman -h
pacman -S -h

通过安装软件组来安装工具链:

pacman -S mingw-w64-x86_64-toolchain
pacman -S base-devel
pacman -S vim

3.2. 升级

3.2.1. 升级核心包

pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

之后需要关闭所有 MSYS2 shell, 然后重新运行。

3.2.2. 升级其他包

pacman -Su

3.3. 制作软件包 makepkg

MSYS2 官网的软件包是通过 makepkgmakepkg-mingw 制作的。

可参:

  • MINGW_INSTALLS=mingw64 makepkg -sLf --skippgpcheck
  • http://sourceforge.net/p/msys2/wiki/Contributing to MSYS2/,
  • C:\msys64\usr\share\pacman\PKGBUILD.proto

3.3.1. 常用软件包编译

常用软件包我们可以简单的使用命令直接从官网安装即可, 比如安装 openssl:

32bit: pacman -S mingw-w64-i686-openssl
64bit: pacman -S mingw-w64-x86_64-openssl

有时候根据项目需要我们不得不自己动手编译依赖的软件包, 以下是我在工作用到的库编译过程记录。

3.3.2. openssl

  • 64bit
mkdir openssl64
cd openssl64
tar zxvf openssl-1.0.2c.tar.gz
cd openssl-1.0.2c
./configure mingw64 shared
make
make INSTALL_PREFIX=../ install
  • 32bit
mkdir openssl32
cd openssl32
tar zxvf openssl-1.0.2c.tar.gz
cd openssl-1.0.2c
./configure mingw shared
make
make INSTALL_PREFIX=../ install

3.3.3. zlib

  • 32bit
mkdir zlib32
cd zlib32
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
make -f ./win32/Makefile.gcc
make
make install -f win32/Makefile.gcc  DESTDIR=../

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...