MSYS2:构建高效Windows开发环境 - 基础配置指南

本文是关于使用MSYS2在Windows上搭建开发环境的系列教程的第一部分。在这一篇中,我们将探讨如何进行基础配置。MSYS2是一个强大的工具,它可以让Windows用户以类似Linux的方式进行开发,解决了许多常见的开发难题。为了帮助读者更好地理解和使用MSYS2,我将分享自己的配置过程,希望能帮助你们避免在配置环境时遇到的问题。

系列文章:…

安装

首先,请前往 MSYS2官网 下载最新版的MSYS2。我选择的安装目录是 D:\msys64

更新镜像源

为了更快速地下载软件包,建议使用清华大学开源软件镜像站提供的 MSYS2镜像。更换镜像源后,执行以下命令更新:

pacman -Sy && pacman -Su
# 或者
pacman -Syu

随后根据提示关闭窗口,重新打开一个新的bash窗口以应用更新。

安装GCC环境

为了开发需要,安装GCC环境及相关工具:

pacman -S mingw-w64-x86_64-cmake \
mingw-w64-x86_64-extra-cmake-modules \
mingw-w64-x86_64-make \
mingw-w64-x86_64-gdb \
mingw-w64-x86_64-toolchain

环境变量配置

安装完成后,设置以下环境变量:

MSYS2_HOME=D:\msys64
MSYS2_PATH_TYPE=inherit
MSYSTEM=MINGW64

MSYS2有三种启动方式,分别是:

  • MSYS2 MSYS:set MSYSTEM=MSYS
  • MSYS2 MinGW 32bit:set MSYSTEM=MINGW32
  • MSYS2 MinGW 64bit:set MSYSTEM=MINGW64

在系统PATH中添加MSYS2的路径:

%MSYS2_HOME%\bin
%MSYS2_HOME%\usr\bin

并在MSYS2的shell窗口中编辑 ~/.bashrc 文件,加入以下配置:

export PATH=$PATH:/mingw64/bin/

修改用户目录

将Windows用户目录链接到MSYS2的用户目录,以便更方便地访问文件。操作如下:

cd D:\msys64\home
mv <username> <username>-bak
mklink /J <username> C:\Users\<username>

以上命令会返回

为 <username> <<===>> C:\Users\<username> 创建的联接

上面命令中的“”请替换成实际的系统用户目录。执行完命令之后,将原来msys2的用户目录下的文件拷贝到C:盘的用户目录(C:\Users<username>)下即可。

mklink命令参数说明如下:
MKLINK [[/D] | [/H] | [/J]] Link Target

    /D      创建目录符号链接。默认为文件
            符号链接。
    /H      创建硬链接而非符号链接。
    /J      创建目录联接。
    Link    指定新的符号链接名称。
    Target  指定新链接引用的路径
            (相对或绝对)。

安装ConEmu

ConEmu是一个适用于Windows的强大的免费开源终端仿真器,它提供了带有选项卡和状态栏的多控制台和GUI应用程序的集成。ConEmu能够大大提升开发者在Windows上的工作效率和体验。你可以在ConEmu官方网站找到更多信息及下载链接。

ConEmu的基本配置

一旦安装ConEmu,你可以按照以下步骤进行基本配置,以使其成为你的默认终端环境:

  1. 设置ConEmu为默认终端。

    ConEmu默认终端设置

  2. 通过点击“集成”下的“注册”和“反注册”按钮,可以将ConEmu添加到或从Windows右键菜单中删除。

ConEmu集成设置

添加到右键菜单

如果你没有安装ConEmu,可以使用以下方法将MSYS2添加到Windows的右键菜单中:

  1. 创建一个名为 add-msys.reg 的文本文档。
  2. 将以下内容复制到文件中(确保根据你的安装路径调整路径):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\msys2]
@="MSYS2"
"Icon"="D:\\msys64\\msys2.ico"

[HKEY_CLASSES_ROOT\Directory\shell\msys2\command]
@="D:\\msys64\\msys2_shell.cmd -here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\msys2]
@="MSYS2"
"Icon"="D:\\msys64\\msys2.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\msys2\command]
@="D:\\msys64\\msys2_shell.cmd -here"

[HKEY_CLASSES_ROOT\Drive\shell\msys2]
@="MSYS2"
"Icon"="D:\\msys64\\msys2.ico"

[HKEY_CLASSES_ROOT\Drive\shell\msys2\command]
@="D:\\msys64\\msys2_shell.cmd -here"

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\msys2]
@="MSYS2"
"Icon"="D:\\msys64\\msys2.ico"

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\msys2\command]
@="D:\\msys64\\msys2_shell.cmd -here"
  1. 双击运行此文件将MSYS2添加到右键菜单。
  2. 注意: 调整安装目录为实际路径。

Jetbrains IDE配置

对于使用Jetbrains系列IDE(如IDEA, PHPStorm, PyCharm, Goland)的用户,可以自定义终端配置,以便在IDE中直接使用MSYS2环境。在IDE的 Settings > Tools > Terminal 路径下,修改 “Shell path” 选项为:

"D:\msys64\usr\bin\env.exe" CHERE_INVOKING=1 /usr/bin/bash --login -i

这样设置后,你可以直接在IDE的终端中访问MSYS2环境,进一步提升你的开发效率。

Pacman的基本用法

Pacman是MSYS2和Arch Linux等系统中的包管理器,用于安装、更新和卸载软件包。以下是Pacman的一些基本命令:

安装软件

  • 安装单个软件包:pacman -S 软件名
  • 同时安装多个软件包:pacman -S 软件名1 软件名2 ...
  • 安装软件,但跳过已经是最新版本的包: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 -Sy
  • 升级所有已安装的软件包:pacman -Su
  • 同时更新软件包数据库和升级所有包:pacman -Syu

卸载软件

  • 仅卸载软件包,保留依赖:pacman -R <软件名>
  • 卸载软件包,并显示详细信息:pacman -Rv <软件名>
  • 卸载软件包及其不再需要的依赖:pacman -Rs <软件名>
  • 卸载软件包及其所有依赖(慎用):pacman -Rsc <软件名>
  • 卸载软件包,删除不再被任何已安装软件包所需要的依赖:pacman -Ru <软件名>

总结

通过上述步骤,你已经完成了MSYS2的基本配置。有了MSYS2,Windows用户可以方便地使用许多Linux下的工具和功能。MSYS2不仅提供了Linux风格的工作环境,还支持直接在Windows下运行shell脚本。这样的配置不仅提高了工作效率,也使得Windows平台上的开发体验更加接近Linux环境。

  • 23
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walkskyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值