在 Git Bash 中安装程序?

我在Windows上运行git bash,我想安装一些我熟悉的Linux工具,但是apt-get、yum等似乎不起作用。我该如何在git bash中安装程序?

你能再具体一点吗?是指哪个版本的Windows?是指哪些程序?sudo apt-get update/upgrade是否按预期工作? - Lefty G Balogh
1Windows 8。像grep、nano等普通的bash程序。不,sudo apt-getapt-get一样都不起作用了。 - wogsland
我认为在git bash中安装程序是不可能的。它不是一个操作系统。 - Arkadiusz Drabczyk
1如果你想安装Linux应用程序,那是不可能的。你需要使用WSL,它只支持Windows 10。 - Ramhound
如果不是Windows 10,可以使用Cygwin。 - DavidPostill
4个回答

你可以使用 chocolatey 或者 scoop 这两个工具来通过命令行安装软件,它们在 git bash 上也能正常工作。但是如果你真的想要 Linux 软件,你可以先安装 Windows 10,然后再安装 Windows Linux 子系统,这样你就可以选择 Ubuntu 而不是 Opensuse,并且使用 apt-get 命令。

2你提议的用于Windows 10的Windows Linux子系统非常好用。谢谢! - wogsland
WSL很好..但它也有各种问题。复制粘贴不工作只是一个漫长而崎岖的开始.. - Nick Brady

Git Bash似乎没有包管理器。 当使用Cygwin或MobaXterm(可能还有其他衍生版本)时,实际上可以像在Ubuntu上一样使用apt-get。

你可以从提供Linux命令的Windows可执行文件网站下载二进制exe文件,并将其添加到Git二进制文件夹中(路径为/c/Program\ Files/Git/mingw64/bin)。请查看以下内容: 示例: 安装wget,引用自https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058
  • eternallybored下载最新的Windows版wget二进制文件(它们以zip格式提供文档或仅为exe文件)。
  • 如果下载的是zip文件,请解压全部内容(如果Windows内置的zip工具出错,请使用7-zip)。
  • 如有必要,将文件名从wget64.exe改为wget.exe
  • wget.exe移动到Git\mingw64\bin\目录下。

要下载nano

  • 从Nano win32-support页面下载Nano二进制文件。您只需要下载.exe文件,文件名为nano-git-0d9a7347243.exe(截至本文撰写时)。
  • 将文件重命名为nano.exe,并复制到mingw64\bin目录中。
  • 这个版本的Nano不能单独与Git Bash一起使用,但可以使用winpty来调用,例如:winpty nano test.txt

截至2018年,最新版本的Git Bash已经包含了Nano,因此这是不必要的!只需在安装Git for Windows时选择Nano作为默认编辑器即可。

您还可以考虑使用cygwin作为Windows上的类Unix系统模拟器,安装后可以包含各种二进制文件,并且以后还可以添加。


1请引述答案中的基本部分来自参考链接,因为如果链接页面发生变化,答案可能会失效。 - DavidPostill

选项 #1 - Git SDK 和 Git-SCM 的组合

首先,下载 Git For Windows SDK,然后将 C:/git-SDK-64/usr/bin 中的所有二进制文件转移到 C:/Program Files/Git/usr/bin,并将 /etc 中的所有文件进行转移。最后,根据上述答案中提到的,单独下载 WGET

注意:这种方法非常靠不住,不建议使用,因为有很多原因。只有在你想要(有点)获取 Linux 环境时才有用。

选项 #2

只需下载 Git For Windows SDK 并将其作为几乎完整的 Linux 环境使用。

或者

使用Windows子系统来运行Linux是一个比仅有shell更全面的Linux环境。这是最佳选择,因为它是一个完整的Linux环境,并且由微软进行良好维护。

选项#3

最后一个选项是下载MSYSY2软件包。然后使用最好使用PeaZip解压缩,因为其他解压缩软件如7-zip不支持相同的格式。解压缩后,手动将文件放置在Git安装目录中。


2你应该分别发布每个选项,这样它们可以分别进行投票。 - Chenmunka