Skip to content

维摩诘

阅读过去,思考未来。面向信仰编程

利用msys2搭建开发环境-基础配置篇


概述

之前总结了一些msys2使用中遇到的问题,但是不系统,有些问题也没有深究,解决了就忘记了。最近在新的机器上配置环境的时候发现一些问题,这次干脆写一个完整的配置过程,防止以后遗忘。

本系列将分为几个连载内容发布,分别为:

  1. 利用msys2搭建开发环境-基础配置篇
  2. 利用msys2搭建开发环境-Git篇
  3. 利用msys2搭建开发环境-golang开发环境篇

安装

去 msys2官网下载最新版本msys2。 我的安装目录为:D:\msys64

更新镜像源

清华大学开源软件镜像站  msys2镜像使用帮助。 更换文件后执行

pacman -Sy && pacman -Su
# 或者执行:
pacman -Syu

随后根据提示关闭窗口重新打卡新的bash窗口。

安装gcc环境

pacman -S make 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_shell.cmd脚本启动的,三个启动方式在脚本内仅仅在于为变量MSYSTEM设置了不同的值,这个设置对golang使用cgo的时候比较有用。可用的值有以下选项:

MSYS2 MSYS:set MSYSTEM=MSYS
MSYS2 MinGW 32bit:set MSYSTEM=MINGW32
MSYS2 MinGW 64bit:set MSYSTEM=MINGW64
在PATH中添加
%MSYS2_HOME%\bin
%MSYS2_HOME%\usr\bin
然后打开msys2的shell窗口,在~/.bashrc文件中追加下面的配置:
export PATH=$PATH:/mingw64/bin/

修改用户目录

根据我的安装目录,msys2默认用户目录在D:\msys64\home下,但是这样有些问题,比如偶尔我们想用一下cmd时,一些命令就找不到一些msys下的用户配置.bashrc、.git-config等。这时候可以用一个巧妙的办法解决,将windows的用户目录做个链接到D:\msys64\home下即可。具体操作如下。 修改msys2创建的用户目录名字,目录名加-bak后缀,打开cmd,然后执行如下命令:

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

以上命令会返回

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

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

mklink命令参数说明如下:

 
MKLINK [[/D] | [/H] | [/J]] Link Target

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

安装Conemu

ConEmu是适用于Windows的免费开源选项卡式终端仿真器。ConEmu提供了多个控制台和简单的GUI应用程序,作为一个带有选项卡和状态栏的可自定义的GUI窗口。真香!  官方网址

conemu的基本配置

设置为默认终端

点击"集成"的“注册”和“反注册”可以添加右键菜单和取消设置。

添加到右键菜单

如果没有安装conemu可以用下面的方法添加到右键菜单。

新建文本文档命名为add-msys.reg,文件内容填写如下内容:

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"

注意: 调整安装目录为实际路径。

Jetbrains配置

Jetbrains家族的IDE像IDEA,PHPStorm,PyCharm,Goland都可以自定终端配置。设置路径settings > Tools > Terminal,修改"Application Settings"下面的"Shell path"的值为

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

pacman的基本用法

安装软件

  • pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可。
  • 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 配置的源里面)。

更新系统

  • pacman -Sy 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)。
  • pacman -Su 升级所有已安装的软件包。
  • pacman -Syu pacman 可以用一个命令就可以升级整个系统

卸载软件

  • pacman -R <软件名> 该命令将只删除包,保留其全部已经安装的依赖关系
  • pacman -Rv <软件名> 删除软件,并显示详细的信息
  • pacman -Rs <软件名> 删除软件,同时删除本机上只有该软件依赖的软件。
  • pacman -Rsc <软件名> 删除软件,并删除所有依赖这个软件的程序,慎用
  • pacman -Ru <软件名> 删除软件,同时删除不再被任何软件所需要的依赖

总结

这样基本的配置就完成了。有了msys2之后,windows下操作就很方便了。很多linux下的好用的工具都可以使用。而且shell脚本也可以在windows下直接运行。

msys2

Recent Posts

  • 离线安装 Docker Compose
  • linux下离线安装docker
  • 基于docker compose配置ipfs私有化网络
  • 记录mysql主从配置相关命令
  • 如何修复docker compose执行报错error getting credentials问题

标签

.htaccess awk bind composer cron crontab curl dns grep https ImageMagick jquery jquery插件 letsencrypt linode linux命令 linux维护 lnmp mime msys2 mysql openssl PIL privoxy pyqt python python模块 RESTful samba session shell socket ssh ssl vim vmware vsftpd wxPython xdebug 安全 开机启动 树莓派 经验 缓存 跟踪调试

Meta

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

Archives

Pages

  • 关于诘
  • 牢记:如何成为黑客

哆哆女性网女孩起名13画什么字瓜蒌种植条件起名大全起名字大全艺术签名设妍字怎么起名字朱姓男孩起名2021年属牛烁字起名的释义指尖梦幻破解版太原学校网站建设xxdm感动中国观后感3000字八字起姓名免费取名属马的起什么名字吉利郑州市建设网站建设周易六十四卦大过江西网站建设公司哪家好起名字谭承接网站建设邱字起名女孩青岛专业网站制作团队导演万岁无弹窗周易生辰八字婚姻姓莫男孩起名大全民权到睢县起名带水女孩上海网站seo外包昆明网站建设价位兰因璧月小石潭记原文及翻译源字起人名的含义淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化