系统 Windows7。
之前在 V 友的指导下开始看《程序员的自我修养》,由于用 dumpbin 研究 PE 格式不方便参照书上的某些例子,所以想着下个 GCC 用。但是一直在用的 Git for Windows 2.x 是基于 MSYS2 的,再安装 MinGW 又引入了 MSYS。所以说 ssh,ls,grep 这些 GNU utils 在电脑里相当于有了两份(尤其是 ssh )?存在解决方案去避免这个冗余吗?
PS:如果可能,暂时不考虑使用 Cygwin
PS:真奇怪,发现 C/C++这个节点居然不是编程的子节点,有特殊原因?
感谢各位的解答。
经过这两天的捣鼓,我算是比较明白MSYS,MSYS2,MinGW还有MinGW-w64的区别了。
并且最重要的是我发现等我把MSYS2装好并接入cmder后才意识到我弄的和我真正的需求完全反了:
我不想用bash和linux那套文件系统!我只想在cmder里用cmd.exe调用Unix的各种原生移植工具集!
由于装了Git for windows后它把自带的MSYS2的GNU coreutils所在路径加在了PATH里,所以其实我一直是跳过了MSYS2的shell直接用的里面的utils,$HOME用的也一直是C:\Users[Name]。现在默认从MSYS2下的home开始,cmder的各种feature也缺胳膊少腿(随地Cmder here失效,alias得自己重新加,PATH不全),甚是不适……
只怪当时下的MinGW安装器会自动安MSYS,没想到还有个MinGW-w64有提供单独的win-build,早知道不用这么折腾了(折腾cmder里如何接入MSYS2的bash花费了我大量的时间,不过也算有学到东西。)
如果有类似需求的朋友可以参考下#13贴的链接,重点在最后几行:
如果不愿意使用 Cygwin 或者 MinGW 这种 ”重型“ 的 port,又喜欢 unix 下的工具链,那么可以尝试一下下面> 几个原生移植工具集:
GNU utilities for Win32
CoreUtils for Windows 或者 完整的 package
dd for windows
Unix ports - WHICH, TEE & CUT
1
wsy2220 2017-10-12 21:26:40 +08:00 2
|
2
wsy2220 2017-10-12 21:28:04 +08:00 1
ustc 还有 msys2 的镜像源
https://mirrors.ustc.edu.cn/msys2/ |
3
icedx 2017-10-12 21:29:21 +08:00 1
没有必要 保持 MinGW 的环境变量排序在 Git2Win 前边就好
|
4
lslqtz 2017-10-12 21:41:34 +08:00
我 git 上在使用 mingw,其它的平时用 cygwin
两份就两份吧。。用一个就好了 |
5
onemoo 2017-10-12 22:15:59 +08:00
如 @wsy2220 #1 所说。
既然用了 MSYS2 也就没有必要额外安装 MinGW 了,你可以安装 MSYS2 源中的 mingw (有 32 和 64 位两个版本,任选其一吧)。 |
6
gnaggnoyil 2017-10-12 22:35:42 +08:00
把 git for windows 给扔了,直接用 msys2 的 git.
git 最要命的问题是它即使在 windows 下也是直接从%PATH%中找能用的 posix shell,所以 git for windows 和 msys2 下的 git 同时安装的话就全都乱套了. |
7
jin7 2017-10-12 23:18:11 +08:00
我已经治好了这个强迫症.
像一些 java 桌面软件都自带了 jre 呢. 很多重复的东西吧. |
8
cappuccinos 2017-10-12 23:20:44 +08:00 via iPhone
学习了
|
9
lrxiao 2017-10-13 01:42:52 +08:00
习惯了..Haskell Platform Git 各装了一遍 mingw 还搞 PATH..有一阵 pip 是 Anaconda 的 python 是 Haskell Platform 带的 神秘的不行
|
10
Cooky 2017-10-13 07:18:09 +08:00 via Android
你说的那个 mingw 已经是废弃的了……
|
11
mooncakejs 2017-10-13 07:45:23 +08:00 via iPhone
wsl linux 终端也可以直接运行 exe
|
12
jyf007 2017-10-13 08:54:15 +08:00
yes|pacman -S `pacman -Ss|sed -n 'p;n'|awk '{print $1}'|awk -F\/ '!/\qt4|vulkan-header|vulkan-docs|gnu-netcat|3proxy|breakpad-svn|clang-analyzer35|clang-too
ls-extra35|clang35|mypaint|gtest|llvm35|pidgin-hg|xpdf/{printf $2" "}'`&&yes|pacman -S vulkan-docs&&yes|pacman -Syu |
13
lzjamao 2017-10-13 23:31:15 +08:00 via Android 1
mingw 官网中说配合使用 msys 会更好。但是各种缺陷和折腾。
如果在 Windows 上模拟 Unix,使用 msys2 会更好(注意区别 msys) 参考大神的文章 https://blog.zengrong.net/post/1557.html |