如何通过 git-bash 卸载在 Windows 上没有包管理器安装的工具?

如何通过 git-bash 卸载在 Windows 上没有包管理器安装的工具?

澄清:

所以我的问题比较笼统,并没有针对某个特定的工具,但是,我的问题是由于需要删除工具 jq 而导致的。我希望有一种更通用的方法来解决所有工具,但如果不可能,那么专门针对 jq 的方法将不胜感激。

的背景:

我在 Windows 上使用 git-bash 安装了 jq 工具,没有使用包管理器(例如 Chocolatey),方法是使用curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe

这将 jq.exe 添加到文件夹中C:\Program Files\Git\usr\bin

我为我的团队创建了一个脚本来执行此安装,但出于各种原因,我们需要将其删除。我不想告诉每个团队成员都转到该文件夹​​并删除 jq.exe 文件。我也不想编写一个删除 exe 文件的脚本,因为我不确定删除 exe 文件是否构成正确的卸载,因此也许涉及更全面方法的解决方案会更好。

问题:

那么有没有办法通过命令行删除这个工具(或以类似方式通过 git-bash 安装的任何其他工具)(这样我就可以为它编写一个脚本),无论任何用户在哪里安装了他们的 Git 文件夹?

答案1

这取决于。

.exe当您使用curl(或wget,甚至您的浏览器)下载二进制文件( )时,二进制文件可能会以多种方式运行,并且会导致需要以多种方式卸载它。

正如评论中提到的,jq.exe这是一个默认不创建任何配置数据的二进制文件。因此删除它就足够了。

但是,您完全可以curl下载以下二进制文件:

  • Windows 安装程序:在这种情况下,第一次运行 时.exe,其文件将通过正常的 Windows 安装方法安装。卸载将通过 Windows添加或删除程序设置页面。

  • 自解压存档:某些应用程序会解压下载内容中包含的文件。这些文件将位于当前目录或新创建的子目录中。在这种情况下,删除目录中的文件即可。

    因此,最好在执行之前将下载的文件放在自己的目录中,以便您可以轻松识别已创建哪些文件以及需要删除哪些文件。

  • 首次运行时创建配置数据的单二进制文件: 某些应用程序会在首次运行时自动在已知位置创建配置数据。nu例如,Nushell ( ) 就是其中之一。完全可以只下载nu二进制文件,首次执行时,配置文件将在您的主目录中创建。在这种情况下,要完全删除文件,您可能需要参考文档或询问开发人员。

  • 自解压源档案:我已经很久没见过这种情况了(说实话,如果有的话,也是这种形式——我在这里描述的方式有点病态),但自解压档案的有效负载可能是需要构建/编译的应用程序的源代码,通常带有类似的东西make install(以及一些构建依赖项)。一些开发人员会包含一个make uninstall,但其他人只需要你“使用来源,卢克”并确定需要删除的文件。

这些只是.exe案例。正如评论中提到的,如果你没有在这里使用 Git Bash(也许是 Windows Subsystem for Linux),你可以使用curl应用程序包裹然后由包管理器安装。在这种情况下,包管理器还将用于删除该应用程序。

相关内容