如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(上)

如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(上)

起源之祸

如果你没有安装过 Msys、Msys2、MinGW、Git 之类工具,请直接跳到下一小节。

事情的经过是这样的。我以前要用到一些 Linux 的工具,于是安装了 MSys2。然后,我又要用 Git,于是我安装了 Git for Windows。然而 Git for Windows 里内置了一个 MSys2。于是,我的电脑上有了两个不同版本的 MSys2。这能忍吗?不能!

于是,卸载之。

Git for Windows 也一起卸载了。这个在卸载之前最好备份设置文件,然而我没有备份,也么有截图。


重新安装 MSys2

在 MSys2 官网下载 Msys2 的最新版本:

MSYS2 homepagewww.msys2.org图标

我的电脑是32位操作系统,默认的安装位置是 \texttt{C:\\msys32} ,在下面的配置中,可以把这个位置换成读者安装的位置。

安装完成以后不要着急打开,毕竟我们要优雅,先去配置 HOME 环境变量

将 HOME 环境变量设置为 \texttt{C:\msys32\home\\}\color{grey}{你的用户名} ,这样以便于在 MSys2 里访问软件生成的配置文件。

友情提醒一下,关于任何地方的软件源的配置,不要轻信一年以前的文章,先去试试链接是否能打开,否则你将被 404 淹没,不知所措。

正确的操作是:访问清华大学镜像站或者中科大镜像站的帮助页面,找到 MSys2 的相关链接:MSys2 镜像使用帮助(清华大学)MSYS2 镜像使用帮助(中科大),然后按照教程进行。

这是整合各种镜像站的操作:找到 \texttt{C:\msys32\etc\pacman.d} 文件夹,里面有三个文件: \texttt{mirrorlist.mingw32}\texttt{mirrorlist.mingw64}\texttt{mirrorlist.msys} ,分别编辑其内容为:

## mirrorlist.mingw32
##
## 32-bit Mingw-w64 repository mirrorlist
##
## 清华大学软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
## 中科大镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
## msys2.org
Server = http://repo.msys2.org/mingw/i686/
## Sourceforge 镜像
Server = https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/
## The UK Mirror Service Sourceforge mirror
Server = http://sourceforge.mirrorservice.org/m/ms/msys2/REPOS/MINGW/i686/
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
## FutureAt 镜像
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/i686/


## mirrorlist.mingw64
##
## 64-bit Mingw-w64 repository mirrorlist
##
## 清华大学软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
## 中科大镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
## msys2.org
Server = http://repo.msys2.org/mingw/x86_64/
## Sourceforge 镜像
Server = https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
## The UK Mirror Service Sourceforge mirror
Server = http://sourceforge.mirrorservice.org/m/ms/msys2/REPOS/MINGW/x86_64/
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
## FutureAt 镜像
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/x86_64/


## mirrorlist.msys
##
## MSYS2 repository mirrorlist
##
## 清华大学软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
## 中科大镜像
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
## msys2.org
Server = http://repo.msys2.org/msys/$arch
## Sourceforge 镜像
Server = https://sourceforge.net/projects/msys2/files/REPOS/msys/$arch
## The UK Mirror Service Sourceforge mirror
Server = http://sourceforge.mirrorservice.org/m/ms/msys2/REPOS/msys/$arch
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/msys/$arch
## FutureAt 镜像
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch

配置完成之后,再打开 MSys2。

然后,不要着急打命令,毕竟我们要优雅。先测试一下软件源是否可用

pacman -Sy

这句命令的意思是同步本地软件数据库,关于 pacman 软件包管理器的具体用法可以参考:

Pacman (简体中文) - ArchWikiwiki.archlinux.org

如果看到了以下几句,说明没有问题

:: 正在同步软件包数据库...
 mingw32 已经是最新版本
 mingw64 已经是最新版本
 msys 已经是最新版本

\tiny\color{#F0F0F0}{我才不会告诉你我在测试的时候出了6个404呢}

如果软件源配置没有问题,那么接下来依然不要着急打命令,毕竟我们要优雅。接下来更新核心软件包

pacman -Su

这句命令意为更新所有软件。但是似乎在第一次使用时只会更新核心软件包(待考证)

运行的时候会出现一行文字,询问是否继续。输入Y,然后回车,下同。

接着,等 MSys2 更新完,不要着急,毕竟我们要优雅。

最后,输出两句英语后,界面会停下。这是不要着急 Ctrl + C 停止进程,先仔细看一下这两句话。(不要跟我说你不会英语)大意是:直接点击右上角的 \bbox[#E00000,3px]{\color{white}{\bold{\textsf{X}}}} 关闭窗口,不要进入 shell。

接下来,不要着急重新打开 MSys2,毕竟我们要优雅。先在 MSys2 的安装目录下找到 \texttt{autorebase.bat} ,双击运行。然后再打开 Msys2。


安装与更新软件

放轻松,不要看到命令行就有打命令的冲动,毕竟我们要优雅。下一步是更新软件

pacman -Su

嗯,和刚才更新核心软件包的时候一模一样。

下一步,不要着急打命令,毕竟……好吧,没事了,可以放心地输入命令了

但是,我们的任务还没有完成呢。文章的标题还有 “Git”,所以下一步要安装 Git

pacman -S git

安装 Git 会顺手把 vim 也安装上。Git 的基础配置参见:

Git教程www.liaoxuefeng.com图标

廖大的教程没有提及配置 Github 与本地 Git 连动的具体操作,这里加以简述。

  1. 注册并登录 Github。
  2. 生成本地 ssh 密匙。使用命令: \texttt{ssh-keygen} ,生成私匙和公匙。(执行时会有几个要求输入的项,全部直接按回车跳过即可)用命令 \texttt{cat ~/.ssh/id_rsa.pub} 查看公匙的内容,然后复制。
  3. 在 Github 页面右上角点击头像选择 Settings,在左边找到 SSH and GPG keys,再点击右上角的绿色按钮:New SSH key。Title 自己起,Key 写刚才复制的公匙。然后点击下面按钮,输入密码确认即可。
  4. 在本地 Git 仓库里,输入 \texttt{git remote origin add }\color{grey}{\texttt{github远程仓库名(以git@github:开头)}}\texttt{origin} 是默认的远程仓库名,可以改成自己定义的名称),添加远程仓库,然后就可以愉快地 \texttt{git push origin }\color{grey}{分支名称} 了。
  5. 最后,如果有不会的内容,Google 是最好的老师。

弄好 Git 之后,可以自己再安装一些软件。要注意有的软件不是在 Linux 上的名称,要加上类似 \texttt{mingw-w64-i686}\texttt{mingw-w64-x86_64} 的前缀,具体取决于软件的版本,以及系统是32位还是64位。


愉悦地使用

基本的配置已经完成,请愉悦地使用 MSys2 + Git 帮助您开发吧。


还没完哦。

如果在上篇就全部写完了,那么下篇写什么呢。

下一篇,将带来更加优雅的使用方式。

忘忧北萱草:如何优雅地配置 Windows 环境下的 MSys2 + Git 开发环境?(下)zhuanlan.zhihu.com图标

(封面PID:56053416)

编辑于 2018-02-13