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

MacosGitHomebrew

Macos Problem Overview


I have been struggling with this for a few hours. I am on a Mac using Yosemite. I had homebrew installed, and was using git just fine. I tried doing $git add -i and I got this error:

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

So I followed the instructions here: https://stackoverflow.com/questions/17736330/cant-locate-git-pm-in-inc

$brew uninstall git worked fine, but after I tried to $brew install git I've been stuck in a terrible cycle.

% 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'
%

I just want to get homebrew & git back to normal and linked to the correct repo again. I'm really rough around the edges at this stuff, so any help would be greatly appreciated!

Macos Solutions


Solution 1 - Macos

Give another go at force removing the brewed version of git

brew uninstall --force git

Then cleanup any older versions and clear the brew cache

brew cleanup -s git

Remove any dead symlinks

brew cleanup --prune-prefix

Then try reinstalling git

brew install git

If that doesn't work, I'd remove that installation of Homebrew altogether and reinstall it. If you haven't placed anything else in your brew --prefix directory (/usr/local by default), you can simply rm -rf $(brew --prefix). Otherwise the Homebrew wiki recommends using a script at https://gist.github.com/mxcl/1173223#file-uninstall_homebrew-sh

Solution 2 - Macos

Had a similar issue while installing "Lua" in OS X using homebrew. I guess it could be useful for other users facing similar issue in homebrew.

On running the command:

> $ brew install lua

The command returned an error:

> 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

FIXED it by deleting the file/directory it is referring to, i.e., deleting the "/usr/local/opt/lua" file.

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

And then running the brew install command returned success.

Solution 3 - Macos

Os X Mojave 10.14 has:

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

Solution. Go to

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

location and install the package manually. And brew will start working and we can run:

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionflareartistView Question on Stackoverflow
Solution 1 - MacosbrownmikeView Answer on Stackoverflow
Solution 2 - MacosGiriView Answer on Stackoverflow
Solution 3 - MacosJ A S K I E RView Answer on Stackoverflow