我正在尝试从 cygwin 切换到 msys2。我广泛使用 cygwin 作为 Unix 工具,不是为了构建软件,而是为了作为我的命令行环境,使 Windows 更像 Linux - 我几乎一直生活在 shell 中。我经常将 python、perl、depends、vc(Windows 编译器)、emacs 等本机工具与 cygwin 实用程序混合使用。(我不使用这些工具的 cygwin 版本,因为路径处理等问题。)多年来,我找到了一个运行良好的环境,即将 cygwin 的根目录安装为 c:/,因此无论我碰巧使用 cygwin 实用程序还是某些本机命令,我的所有绝对路径都是相同的。(当然,只要所有内容确实在 C 驱动器上。)
我正在尝试像这样设置 msys2,但我不知道该怎么做。Msys2 不允许我在 c:/ 中安装(它拒绝这样做,因为它的卸载程序会删除整个安装目录 - 这是有道理的)。我试过了,mount c:/ /
但它说不允许操作。有没有办法在 msys2 中做到这一点?我猜你会说不要这样做,但我真的只是希望 Linux 实用程序在 Windows 文件系统上运行,而不是在某种 chroot 子系统中运行。如果碰巧是 msys2,必须记住在路径中添加“/c”,如果不是,则减去它,这很麻烦;在这种情况下,我宁愿坚持使用 cygwin。
答案1
你说得对,我们会告诉你不要这么做。
您正在尝试用 C: 摧毁 Unix 模拟虚拟文件系统,这实际上会破坏一切。这不仅行不通,而且也不是解决这个问题的正确方法。
将 Windows %PATH% 添加到您的 MSYS2 路径(谷歌搜索如何操作)。现在,Windows 应用程序/命令可以从 MSYS2 控制台运行。
将 /c/... 的内容符号链接到 ~。例如下载、文档、工作区等文件夹。现在,您可以快速访问所有重要位置。