msys2 相关

news/2025/3/31 2:48:45/文章来源:https://www.cnblogs.com/brian-sun/p/18797884

以下是 MSYS2 的详细使用教程,涵盖安装、配置、常用操作及开发环境搭建:


1. MSYS2 简介

MSYS2(Minimal SYStem 2)是 Windows 下的 Linux 模拟环境,提供:

  • 类 Unix 命令行工具(如 bashgrepsed)。
  • 包管理器 pacman(类似 Arch Linux),支持安装 3000+ 软件包。
  • 开发环境:支持编译 C/C++、Python、Rust 等程序。
  • 兼容性:与 Windows 原生程序共存,可访问系统文件。

2. 安装 MSYS2

步骤 1:下载安装包

  • 官网下载地址:https://www.msys2.org/
  • 选择安装路径(如 D:\msys2),避免空格和中文路径

步骤 2:首次配置

  1. 更新软件包
    pacman -Syu        # 更新核心包
    pacman -Su         # 更新其他包
    
  2. 重启 MSYS2
    exit
    

步骤 3*(可选):首次配置

  • 配置鼠标右键菜单
    参考:msys2配置右键菜单
    示例:
    msys2_mouse.reg
    将注册表文件中的图标和路径改成你本地的真实路径,然后双击运行
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenMsys2Here]
@="Open msys2 here"
"Icon"="D:\\msys2\\msys2.ico"[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenMsys2Here\command]
@="d:\\msys2\\msys2_shell.cmd -mingw64 -here"

3. 包管理器 pacman 使用

常用命令

命令 功能
pacman -Syu 更新所有软件包
pacman -S 包名 安装软件包
pacman -R 包名 卸载软件包
pacman -Ss 关键词 搜索软件包
pacman -Qs 关键词 查询已安装的包

示例

# 安装常用工具
pacman -S git wget curl make gcc vim# 安装 Python 开发环境
pacman -S python python-pip# 删除旧版本软件
pacman -Rsc nano

4. 配置开发环境

C/C++ 开发

  1. 安装编译工具链:
    pacman -S mingw-w64-x86_64-toolchain
    
  2. 验证 GCC:
    gcc --version  # 输出应包含 "x86_64-w64-mingw32"
    

Python 开发

  1. 安装 Python 和 pip:
    pacman -S python python-pip
    
  2. 使用 pip:
    pip install requests numpy
    

5. 文件系统与路径

访问 Windows 文件

  • Windows 路径转 Unix 风格
    cd /c/Users/YourName/Documents  # 进入 C:\Users\YourName\Documents
    
  • 挂载自定义路径(可选):
    编辑 /etc/fstab,添加:
    D: /d
    

常用目录

路径 描述
/home/用户名 用户主目录
/etc 配置文件目录
/mingw64 64 位工具链目录

6. 环境变量配置

临时变量

export PATH=$PATH:/custom/path

永久变量

编辑 ~/.bashrc

# 添加以下内容
export EDITOR=vim
export PATH=$PATH:/custom/path

7. 子系统选择

通过快捷方式启动不同环境:

环境 用途
MSYS 原生 Linux 工具(如 pacman
MINGW64 64 位 Windows 程序开发
UCRT64 新版 Windows 运行时开发

8. 常见问题

中文乱码

  1. 修改终端支持中文:
    echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc
    
  2. 安装中文字体:
    pacman -S mingw-w64-x86_64-wqy-microhei
    

加速软件源

编辑 /etc/pacman.d/mirrorlist.mingw64,顶部添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/

权限问题

  • 以管理员身份运行 MSYS2 快捷方式。
  • 修改目录权限:
    chmod -R 755 /path/to/dir
    

9. 实用技巧

  1. 编译示例程序

    # 创建 hello.c
    echo '#include <stdio.h>\nint main() { printf("Hello MSYS2!\\n"); return 0; }' > hello.c
    # 编译运行
    gcc hello.c -o hello
    ./hello
    
  2. 调用 Windows 程序

    notepad.exe  # 启动记事本
    
  3. 定时更新

    pacman -Syu  # 每周运行一次
    

10. 扩展阅读

  • 官方文档:MSYS2 Wiki
  • 社区支持:MSYS2 GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907114.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek 3FS 架构分析和思考(上篇)

资料来源:火山引擎-开发者社区 2025 年 2 月28 日,DeepSeek 在其开源周最后一天压轴发布了自研的并行文件系统 Fire-Flyer File System,简称 3FS。该系统支撑了 DeepSeek V3&R1 模型训练、推理的全流程,在数据预处理、数据集加载、CheckPoint、KVCache 等场景发挥了重要…

Smooth min-entropy

信息论的神奇妙妙工具——Smoothed entropy (平滑熵) 回顾min-entropy 首先有\(\infty\)-divergence \[D_{\infty}(P \| Q) = \max_{x} \log \frac{P(x)}{Q(x)} \]用\(D_{\infty}\)定义min-entropy \[\begin{aligned}H_{\min}(X) &= - D_{\infty}(P_X\| 1) = -\log \ma…

Vue3封装支持Base64导出的电子签名组件

效果图准备工作 组件内用到elementPlus,vue-esign组件,使用前提前安装好。组件代码 <template><!-- 签名容器 --><div class="sign-container" ><div class="sign-preview" :class="[sizeClass, { has-sign: base64Img }]&quo…

产品经理研读:Agent的九种设计模式(图解+代码)

资料来源:火山引擎-开发者社区 引言 上周五我在一个社群里做了一次分享,题目是《从 YC 项目看 AI 趋势以及 AI agent 开发工具类产品该如何设计》,收到了大家不错的反馈,这篇文章和大家详细讲讲分享中提到的 Agent设计模式 1.Agent 的九种设计模式。 先来一张图镇楼,欢迎大…

获取字节火山DeepSeek系列 API完整教程及超多实用玩法!

资料来源:火山引擎-开发者社区原文首发在“Equity AI”公众号,内容经由“WaytoAGI社区整理汇总”,本篇包含了火山DeepSeek API使用的几种方式:飞书多维表格调用,Coze智能体调用,浏览器插件调用。快薅羊毛用起来吧!发现火山方舟大模型服务平台的模型服务计费文档悄咪咪的…

MCR101-ASEMI电源控制电路专用MCR101

MCR101-ASEMI电源控制电路专用MCR101编辑:LL MCR101-ASEMI电源控制电路专用MCR101 型号:MCR101 品牌:ASEMI 封装:TO-92 阻断电压:600V~800V 通态电流:1.0A 类型:单向可控硅 工作温度:-40℃~150℃ MCR101在工业自动化、智能家居和能源管理领域,"精准控制"始终…

IDEA中如何创建scala的对象

1、创建项目 打开Intellij IDEA,点击“Create New Project”。 选择“Java”作为Language,选择“Maven”作为Build System,选择JDK版本; 输入GroupId的名称,一般是com.xxx; 设置完成后点击“Create”。 2、配置Maven File -> Settings -> Build,Execution,Deploym…

fastjson-1.2.68-bypass

fastjson-1.2.68 绕过 在 1.2.47 的利用 mappings 缓存恶意类绕过 autoType 修复后,fastjson 又陆续爆出来了一些黑名单的绕过方式。直到 1.2.68 又有了新的思路去绕过 autoType 安全机制 我们先来看看 fastjson1.2.68 又引入了哪些安全机制 1.2.68 引入了一个新的安全机制 sa…

【日记】感觉沉着冷静是很难得的品质(1200 字)

正文今天不太忙。居然看了一半时间的书,而且居然从零看了一半多了。昨天晚上,一个偶然的原因,看了六层楼跟别人聊天的视频。其实上班之后已经蛮久都没有看他了,时间真的很稀缺。视频中提到了他写的书。他本身表达能力就很好,我想着书应该也不差,就下了一本电子版。刚开始…

Supergateway:MCP服务器的远程调试与集成工具

Supergateway 是一款专为 MCP(Model Context Protocol)服务器设计的远程调试与集成工具,通过 SSE(Server-Sent Events)或 WebSocket(WS)协议实现基于 stdio 的服务器与客户端的高效通信。以下是其核心功能及使用场景的详细解析:核心功能多协议支持支持 SSE 和 WebSocke…

怎么办?听说Windows远程桌面要撤销?解决办法还真有!

3月11日微软正式宣布,将在2025年5月27日关闭并从Microsoft Store中移除Windows远程桌面应用程序,用户将无法通过旧版远程桌面访问这些功能。微软公司此次决定下架Microsoft远程桌面应用,主要是为了推广功能更为强大的Windows App,这种23年上线的解决方案提供了更加统一的界…

电脑文件同步软件,想要备份电脑文方法有哪些?

备份电脑文件的方法有多种,可根据需求选择适合的方案。以下是常见的备份方式及工具推荐,涵盖不同场景:一、使用系统内置工具 Windows 文件历史记录 方法: 连接外部硬盘或网络驱动器。 搜索「文件历史记录」→ 选择驱动器 → 开启自动备份。 可设置备份频率(如每小时)。 二…