【问题标题】:How do get Msys or Mingw utilities and msysgit to work together?如何让 Msys 或 Mingw 实用程序和 msysgit 一起工作?
【发布时间】:2019-03-07 02:15:59
【问题描述】:

我有一个我们的团队成员下载的 windows 开发环境,其中包含旧版本的 msysgit 和一堆我们使用的 unix msys 实用程序(zip、awk、bison 等),因此我们的构建可以在 linux 和 windows 上运行。

现在 git 已经足够老了,以至于 git hub 不再支持它以及其他较新的存储库。

如果我安装了可用的“用于 Windows 10 下载的 MSys64”以及用于 Windows 64 下载的 MSysGit,我发现它们不兼容,因为它们似乎有冲突的 DLL 或一些我无法同时运行两者的问题外壳。

是否存在包含 git 和类似 unix 的实用程序的 MSys 或 MinGW 版本,因此两者都可以位于同一个“bash”外壳下的路径中?那将是理想的。或者有没有办法确保我有两个兼容的系统。

理想情况下,我可以告诉团队成员在 Windows 10 64 位机器上下载 bin 文件夹,设置权限。下载源代码,执行构建脚本,它就可以工作了。

【问题讨论】:

标签: git mingw-w64 msysgit msys


【解决方案1】:

只需解压缩 latest Git for Windows 便携式存档 PortableGit-2.19.0-64-bit.7z.exe 即可。

然后在 CMD 会话中设置简化路径。

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set GIT_HOME=C:\Path\to\Git
set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%GIT_HOME%\mingw64\bin;%PATH%

(添加您需要的任何其他路径)

然后输入bash:您将进入一个包含 200 多个 Linux 命令和 Git 本身的 shell。

另一种方法是激活WSL (Windows Subsystem for Linux),您可以在其中安装常规的Linux Git,并不受限制地从所有 Linux 命令中受益。

【讨论】:

  • 谢谢 - 我相信我试过这个,但它似乎缺少我当前的 msysgit 区域(5 年旧版本)中存在的 unix 命令 ws,所有命令和 Git 在 bash shell 中都可用。会回来报告的。
  • 到目前为止似乎工作正常,除了我第一次运行 bash 它响应: mkdir: cannot change permissions of '/dev/shm': Permission denied mkdir: cannot change permissions of '/dev/ mqueue': 权限被拒绝 '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' msys 我尝试运行安装管理员,没有变化。
  • 权限错误似乎没有破坏任何东西但是虽然“解压缩”命令存在,但“zip”命令不存在,我们的构建脚本使用 zip 来创建 jar 文件和其他档案。是否有可以通过某种方式安装的其他命令?
  • @peterk 是的,我意识到我提到的路径不完整:我已经编辑了答案。
  • 是的,注意到了。 “zip”也不在那里。如果我将旧的 zip.exe 和旧的 msys-1.0.dll 放入 usr/bin,我确实发现一切正常。我想知道他们为什么把它拿出来?许多 archove 和“dist”格式都基于 zip 文件,而 windows zip 具有讨厌的参数语法,需要特殊情况和一些其他问题。
猜你喜欢
  • 1970-01-01
  • 2012-02-05
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 1970-01-01
  • 2023-04-09
  • 2013-05-14
相关资源
最近更新 更多