为什么每次输入 git 命令时 zsh 都会杀死我的进程

Why does zsh kills my process every time I enter a git command

我正在尝试在我的 apple M1 macbook air 上设置 git。我尝试 运行 git 并且发现我需要先更新我的命令行工具,我也是。但是现在,每次我尝试输入 git 命令时,我一次又一次地看到同​​一行:zsh: killed git.

例如,当我键入 git 时终端告诉我:zsh: killed git,当我键入 git --version 时终端告诉我:zsh: killed git --version 等等。有人知道问题出在哪里以及如何解决吗?

感谢阅读并试图找到答案。

我把最终的解决方案放在这里。我在 mac M1 上尝试了很多方法,最好的方法是重新安装 homebrew。

第一步:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

第二步: 安装自制程序

cd /opt 
mkdir homebrew # if not exist, just create one.
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

那么,问题就解决了。

我使用了以下命令:

brew uninstall git
brew update
brew reinstall pcre2 gettext
brew install git

Git 之后工作。

要找出崩溃的原因,您可以用 + spacebar打开Console,然后转到“崩溃报告”。

如果向下滚动一点,您会发现错误的来源:

Application Specific Information:
dyld: launch, loading dependent libraries
/opt/homebrew/opt/gettext/lib/libintl.8.dylib

所以在这个例子中,一个简单的 brew reinstall gettext 将解决这个问题(当然除非另一个依赖项也有问题)。

要一步解决所有依赖项问题,您也可以简单地执行 brew reinstall $(brew deps git).

我遇到了同样的问题,我有一台 MacBook Pro M1,我 运行 下一个命令:

brew reinstall gettex
brew reinstall pcre2
brew reinstall git

我有一个带有 macOS Big Sur 的 M1,所以我必须先安装开发工具 xcode-select,因为重新安装 gettextpcre2 也不是 运行。

是按这个顺序做的吗:

xcode-select --install
brew reinstall gettext
brew reinstall pcre2
brew reinstall git

哎呀呀!

TL;DR

brew reinstall $(brew deps git) git

或者如果它发生在 git 以外的其他软件上,请替换为受影响的软件:

brew reinstall $(brew deps ffmpeg) ffmpeg

为什么?

它似乎发生在一些重要的 macOS 更新之后(它发生在我在 Monterey 的 12.2.1 更新之后)。一些依赖关系在这个过程中被打破了。

仅重新安装 git 是不够的。重新安装特定的依赖项(gettextpcre2)可能会起作用;他们都会。但是,如果您使用其他软件时发生这种情况,它可能有更多的 dep:例如,ffmpeg 有 96 个。在重新安装软件本身之前自动重新安装所有依赖项是解决方案。

无需删除 Homebrew 及其所有包的核选项。