【问题标题】:No such keg: /usr/local/Cellar/git没有这样的小桶:/usr/local/Cellar/git
【发布时间】:2015-01-29 21:35:03
【问题描述】:

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

在@INC 中找不到 Git.pm(@INC 包含:

所以我按照这里的说明进行操作: 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'
%

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

【问题讨论】:

  • brew doctor 的输出是什么?
  • 您好,感谢您的回复。只是提到 xcode 已过时:% brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks! Warning: Your Xcode (6.1) is outdated Please update to Xcode 6.1.1. Xcode can be updated from the App Store.
  • 好的,你能正常运行brew update吗?
  • 是的,好像是这样% brew update Updated Homebrew from fe048363 to a41d46bb. ==> New Formulae why3 ==> Updated Formulae cmake galen juju slimerjs tippecanoe xulrunner
  • Hrmmm type git 的输出是什么?

标签: macos git homebrew


【解决方案1】:

再次尝试强制删除 git 的酿造版本

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的脚本

【讨论】:

  • 卸载并重新安装自制软件是唯一让我摆脱困境的方法。
  • @MattFlorence 你是如何卸载自制软件的?我走到哪里都说你必须安装 git 才能删除自制软件。
  • 在新的最新 os X 中我有:“错误:必须在 Mojave 上安装命令行工具头包。”
  • brew cleanup --force 不存在了,用brew cleanup -s git
  • 还有brew prune 不再存在,使用brew cleanup --prune-prefix
【解决方案2】:

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

在运行命令时:

$ brew install lua

命令返回错误:

错误:/usr/local/opt/lua 不是有效的小桶
(通常错误可能是 /usr/local/opt/ is not a valid keg

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

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

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

【讨论】:

    【解决方案3】:

    Os X Mojave 10.14 具有:

    错误:命令行工具头包必须安装在 莫哈韦沙漠。

    解决方案。前往

    /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
    

    【讨论】:

    • brew prune 不存在,使用brew cleanup --prune-prefix
    • 错误:无效选项:--force
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多