没有这样的小桶:/usr/local/Cellar/git

No such keg: /usr/local/Cellar/git

我已经为此苦苦挣扎了几个小时。我在 Mac 使用 Yosemite。我安装了自制软件,并且使用 git 就好了。我尝试执行 $git add -i 并收到此错误:

Can't locate Git.pm in @INC (@INC contains:

所以我按照这里的说明操作: Can't locate Git.pm in @INC

$brew uninstall git 工作正常,但在我尝试 $brew install git 之后,我陷入了一个可怕的循环。

% brew install git

Error: git-git already installed
To install this version, first `brew unlink git'
% brew unlink git
Error: No such keg: /usr/local/Cellar/git
% brew link git
Error: No such keg: /usr/local/Cellar/git
% git --version
git version 1.9.3 (Apple Git-50)
% brew upgrade git
==> Upgrading 1 outdated package, with result:
git 2.2.2
Error: /usr/local/Library/LinkedKegs/git is not a valid keg
% brew install git
Error: git-git already installed
To install this version, first `brew unlink git'
%

我只想让自制软件和 git 恢复正常并再次链接到正确的存储库。我在这方面真的很粗糙,所以任何帮助将不胜感激!

再试一次,删除 git

的 brewed 版本
brew uninstall --force git

然后清理所有旧版本并清除 brew 缓存

brew cleanup -s git

删除所有失效的符号链接

brew cleanup --prune-prefix

然后尝试重新安装git

brew install git

如果这不起作用,我将完全删除 Homebrew 安装并重新安装。如果您没有在 brew --prefix 目录中放置任何其他内容(默认情况下 /usr/local),您可以简单地 rm -rf $(brew --prefix)。否则 Homebrew wiki 推荐使用位于 https://gist.github.com/mxcl/1173223#file-uninstall_homebrew-sh

的脚本

Os X Mojave 10.14 有:

Error: The Command Line Tools header package must be installed on Mojave.

解决方案。前往

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

位置并手动安装包。 brew 将开始工作,我们可以 运行:

brew uninstall --force git
brew cleanup -s git
brew cleanup --prune-prefix
brew install git

使用自制软件在 OS X 中安装 "Lua" 时遇到了类似的问题。我想它可能对其他在自制软件中面临类似问题的用户有用。

在 运行 命令上:

$ brew install lua

命令返回错误:

Error: /usr/local/opt/lua is not a valid keg
(in general the error can be of /usr/local/opt/ is not a valid keg

通过删除它所指的 file/directory 来修复它,即删除“/usr/local/opt/lua”文件。

root-user # rm -rf /usr/local/opt/lua

然后 运行 brew install 命令返回成功。