官网 https://www.msys2.org/
官方文档 https://www.msys2.org/docs/terminals/
github https://github.com/msys2/msys2-installer/releases/
这个msys2更新还挺活跃的,最新是2023.5.26版本, 软件本体只有84M,nice
双击安装。安装过程基本上就是在解压,安装过程信息如下:到最后Updating trust database…的时候可能会卡住,此时进度50%,等着,或者尝试翻墙
正在准备安装…
正在准备解压组件......
正在解压组件......
正在提取“20230526msys64.7z”
已完成
正在安装组件 MSYS2
Copying skeleton files.
These files are for the users to personalise their msys2 experience.
They will never be overwritten nor automatically updated.
'./.bashrc' -> '/home/username2/.bashrc'
'./.bash_logout' -> '/home/username2/.bash_logout'
'./.bash_profile' -> '/home/username2/.bash_profile'
'./.profile' -> '/home/username2/.profile'
'C:\windows\system32\drivers\etc\hosts' -> '/etc/hosts'
'C:\windows\system32\drivers\etc\protocol' -> '/etc/protocols'
'C:\windows\system32\drivers\etc\services' -> '/etc/services'
'C:\windows\system32\drivers\etc\networks' -> '/etc/networks'
==> Generating pacman master key. This may take some time.
==> Updating trust database...
==> Appending keys from msys2.gpg...
==> Locally signing trusted keys in keyring...
-> Locally signed 5 keys.
==> Importing owner trust values...
==> Disabling revoked keys in keyring...
-> Disabled 4 keys.
==> Updating trust database...
[H[2J[3J
已完成
编写维护工具。
安装已完成!
安装之后有好几个终端环境,推荐使用的、默认打开的是ucrt64.exe
,我这里也用这个,任务栏是这样的:
配置如下(这里刚开始,用Notepad++等编辑器编辑就行):
/etc/nsswitch.conf
db_home: windows cygwin desc
export PROMPT_COMMAND='history -a'
export HISTCONTROL=ignoredups
chcp.com 65001
/etc/pacman.d/
下的db_home: windows cygwin desc
各个mirrorlist文件,没必要都修改,修改你需要用的环境即可。比如我用ucrt64则只需修改: mirrorlist.msys
, mirrorlist.ucrt64
配置文件 /etc/pacman.conf
修改:翻到最下面,把不需要的环境注释掉:
# [clangarm64]
# Include = /etc/pacman.d/mirrorlist.mingw
#
# [mingw32]
# Include = /etc/pacman.d/mirrorlist.mingw
#
# [mingw64]
# Include = /etc/pacman.d/mirrorlist.mingw
[ucrt64]
Include = /etc/pacman.d/mirrorlist.mingw
# [clang32]
# Include = /etc/pacman.d/mirrorlist.mingw
#
# [clang64]
# Include = /etc/pacman.d/mirrorlist.mingw
[msys]
Include = /etc/pacman.d/mirrorlist.msys
pacman -Syyu
,因为已经换源了,速度会挺快
会自动刚更新msys软件本体,和安装过的软件包。如果不想更新某个软件包,可以在配置文件设置。
pacman -S 软件包名
进行安装pacman -Rs 软件包名
pacman -Ss 包名关键词
,比如vim
pacman -Ss vim
下图就搜索到了两个,前面粉红色的是环境tag,优先安装ucrt64的(尤其是g++,cmake啥的编译工具链最好用ucrt64),但我不想用neovim就选下面的msys那个vim了,红线就是完整包名,安装即可pacman -S vim
安装编译工具链:pacman -S mingw-w64-ucrt-x86_64-toolchain
make
命令,官方文档有比较:make vs mingw32-make. 我这里直接链接mingw32-make.exe为make.exe
cd /ucrt64/bin
ln -s mingw32-make.exe make.exe
mingw32-make.exe
隶属于mingw-w64-ucrt-x86_64-make
软件包,应该就是官方推荐的
pacman -Qo mingw32-make.exe
查看安装cmake: pacman -S mingw-w64-ucrt-x86_64-cmake
安装git: pacman -S git
export LANG="en_US.UTF-8"
git config --global core.quotepath false
git diff
时忽略行尾的^M
回车符:# 忽略行尾的回车
git config --global core.whitespace cr-at-eol
# (这两个在msys2/git环境中应该不用执行)
# 提交时自动转换为换行,检出时保留对应系统的设置
git config --global core.autocrlf true # win上设置
git config --global core.autocrlf input # unix上设置
安装其他需要的软件
/ucrt64/bin
,/usr/bin/
下,把这两个加到系统PATH即可(注意顺序),这样你在非msys2终端环境中也能使用这里安装的软件了,比如rm, vim啥的MSYS2_PATH_TYPE
,值为inherit
msys2_shell.cmd
启动,并添加-full-path
参数官方doc https://www.msys2.org/docs/terminals/
修改windows terminal的配置json, 注意修改路径为你的安装位置
// This makes UCRT64 the default shell
"defaultProfile": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",
"profiles": {
"list":
[
// ...
{
"guid": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",
"name": "UCRT64 / MSYS2",
"commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -ucrt64",
"startingDirectory": "C:/msys64/home/%USERNAME%",
"icon": "C:/msys64/ucrt64.ico",
"font":
{
"face": "Lucida Console",
"size": 9
}
},
{
"guid": "{71160544-14d8-4194-af25-d05feeac7233}",
"name": "MSYS / MSYS2",
"commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -msys",
"startingDirectory": "C:/msys64/home/%USERNAME%",
"icon": "C:/msys64/msys2.ico",
"font":
{
"face": "Lucida Console",
"size": 9
}
},
// ...
]
}
官方文档 https://www.msys2.org/docs/ides-editors/
如下内容添加到vscode的settings.json, 注意修改路径为你的安装位置
{
"terminal.integrated.profiles.windows": {
"MSYS2 UCRT": {
"path": "cmd.exe",
"args": [
"/c",
"C:\\msys64\\msys2_shell.cmd -defterm -here -no-start -ucrt64"
]
}
},
"terminal.integrated.defaultProfile.windows": "MSYS2 UCRT"
}
文章浏览阅读1.6k次。IPv6,Internet Protocol version 6(网际协议第六版),IPv4的升版本。和IPv4类似,IPv6是一种逻辑编址方案,用于网络层主机到主机的通信。_ipv6保留地址
文章浏览阅读252次。Request headersAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和 */*,优先顺序是它..._text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,
文章浏览阅读3.1k次。最近项目中有一个趋势展示功能,就用到了MPAndroidchart中了Linechart(折线图来实现)绘制好图后,发现x轴最后一个标签被屏幕遮挡一点(有一部分跑出屏幕外边)经查找问题后发现,原来是y轴右边设置不显示后,图会自动向屏幕右边扩展。虽然x轴有个一个函数 xAxis.setAvoidFirstLastClipping(false);//图表将避免第一个和最后一个标签条目被减掉_mpandroidchart 被遮挡
文章浏览阅读525次。基本概念:图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。图论是一种表示 "多对多" 的关系图是由顶点和边组成的:(可以无边,但至少包含一个顶点)一组顶点:通常用 V(vertex) 表示顶点集合..._图论中有同权
文章浏览阅读3w次,点赞13次,收藏45次。Vue中 Vue.extend() 详解及使用_vue.extend
文章浏览阅读1.6k次。在执行单元测试时,ApplicationRunner被意外启动,导致了Netty服务器被初始化,单元测试无法执行的问题。解决方案:通过设置ApplicationRunner对应Bean的Profile解决对应组件添加注解:@Profile("!test")单元测试添加注解:@ActiveProfiles("test")..._applicationrunner解决
文章浏览阅读337次。node vue 实时推送 介绍 (Introduction)Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. Elasticsearch is built on top of Apache Lucene, wh..._vue elasticsearch
文章浏览阅读9.1k次,点赞16次,收藏53次。问题现象main函数初始化时,关闭CPU的中断使能,清除不断标志,一般都是这么写的: IER = 0x0000; IFR = 0x0000;但是,CCS却提示:Symbol 'IER' could not be resolved可是呢,编译整个工程时,也不会报错。<Linking>Finished building target: "DCDC.out""D:/ti/ccs1040/ccs/utils/tiobj2bin/tiobj..._symbol 'ier' could not be resolved
文章浏览阅读4.4k次。Android技术防范与揭秘总结APK静态分析静态分析指,在不允许代码的情况下,通过词法分析,语法分析,控制流,数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性,安全性可靠性,可维护行等指标的一种代码分析技术。常用的分析利器查看源码工具dex2jar jd-gui dex2jar 将apk中的class.dex 转化为jar文件,而jd-gui是一个反编译工具,可以直接查看jar包中的源_hook apk
文章浏览阅读5.6k次,点赞2次,收藏5次。参看:DM36x的UBL分析以及串口启动UBL 是 RBL 引导启动的一段小程序,主要负责初始化时钟,串口,NAND,DDR2 等,然后把 uboot, kernel, rootfs 复制到 DDR2 上并引导 uboot。为什么 UBL 跟串口启动一起讲,那是因为这两个关系很密切,很多代码是共用的,而且代码都放在同一个目录下,所以就合起来一起讲了。一、UBLubl 的代码放在 dvsdk 目录下_dm368 不能下载 yaffs 程序
文章浏览阅读1.4k次,点赞4次,收藏14次。分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。通过一定的规则,将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。预定义算法是事先已经明确知道分库和分表的数量,可以直接将某类数据路由到指定库或表中,查询的时候亦是如此。_分库分表
文章浏览阅读472次。小编给大家分享一款多行业万能预约门店小程序源码系统。该系统不仅具备高度的可定制性,还提供了丰富的功能模块,能够轻松应对不同行业的预约需求。:该系统支持多行业预约需求,无论是美容美发、餐饮娱乐还是医疗健身等行业,都能找到适合的预约模板和功能模块。:该系统提供了完整的搭建教程和安装代码包,用户只需按照教程操作,即可轻松完成小程序的搭建和部署。:系统提供了丰富的数据分析和统计功能,可以帮助商家了解预约情况、客户分布等信息,为门店运营提供有力支持。同时,还支持预约提醒功能,确保客户能够按时到店,提高预约的准确率。