2013-12-10 9 views
7

Kann jemand eine Lösung für Folgendes vorschlagen?Homebrew: unzureichende Berechtigung zum Hinzufügen eines Objekts zur Repository-Datenbank .git/objects

Es muss einen einfachen Ausweg geben, indem man etwas mit git ausführt.

$ rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup 
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" 
==> This script will install: 
/usr/local/bin/brew 
/usr/local/Library/... 
/usr/local/share/man/man1/brew.1 

Press ENTER to continue or any other key to abort 
==> Downloading and installing Homebrew... 
remote: Counting objects: 142460, done. 
remote: Compressing objects: 100% (49574/49574), done. 
remote: Total 142460 (delta 97359), reused 136688 (delta 91829) 
Receiving objects: 100% (142460/142460), 33.23 MiB | 1.57 MiB/s, done. 
Resolving deltas: 100% (97359/97359), done. 
From https://github.com/mxcl/homebrew 
* [new branch]  master  -> origin/master 
HEAD is now at 8cb0f87 brew-test-bot: fix testing job tag numbering. 
==> Installation successful! 
You should run `brew doctor' *before* you install anything. 
Now type: brew help 
$ brew doctor 
Warning: Your file-system on/appears to be CaSe SeNsItIvE. 
Homebrew is less tested with that - don't worry but please report issues. 
$ brew update 
error: insufficient permission for adding an object to repository database .git/objects 
fatal: failed to write object 
fatal: unpack-objects failed 
Error: Failed to update tap: homebrew/science 
Already up-to-date. 
$ brew untap homebrew/science 
Error: No such tap! 
$ 
+0

Im Allgemeinen bedeutet das, dass Ihre Dateiberechtigungen für das Verzeichnis durcheinander gebracht werden, in das sie zu schreiben versucht. Überprüfen Sie, ob etwas falsch aussieht, wenn Sie 'ls -l' eingeben. –

+0

In der ersten Zeile mache ich eine rm -rf /usr/local/.git, so dass alles von Grund auf in der zweiten Zeile erstellt wird. Ich habe die Berechtigungen überprüft, kann jedoch nichts mit einem Problem finden. – MightyMouse

+0

brew update kann auch Git-Repositories aktualisieren, die in/usr/local/Library/Taps/*/(ich hatte das gerade mit /usr/local/Library/Taps/homebrew-dupes/.git) gefunden habe. Überprüfen Sie die Berechtigungen dort. Ich bin mir nicht sicher, ob brew cleanup das reinigt. –

Antwort

10

Dan R kommentiert:

Gebräu Update kann auch git Repositories gefunden in/usr/local/Library/Taps/*/(ich dies mit/usr/local/Library passieren gerade hatte aktualisieren/Taps/Homebrew-Duples/.git). Überprüfen Sie die Berechtigungen dort. Ich bin mir nicht sicher, ob brew cleanup das reinigt.

Mein Problem war mit Fass

[/usr/local/Library/Taps/phinze-cask] 
$ brew update 
error: insufficient permission for adding an object to repository database .git/objects 
fatal: failed to write object 
fatal: unpack-objects failed 
Error: Failed to update tap: phinze/cask 
Already up-to-date. 

[/usr/local/Library/Taps/phinze-cask] 
$ ls -laF .git/objects | grep root 
drwxr-xr-x 3 root  admin 102 Dec 2 11:43 05/ 
drwxr-xr-x 3 root  admin 102 Dec 2 11:43 08/ 
drwxr-xr-x 3 root  admin 102 Dec 2 11:43 2f/ 
... 

Nach dem folgenden chown ich ein sauberes Gebräu Update abgeschlossen.

[/usr/local/Library/Taps/phinze-cask] 
$ sudo chown -Rh ljohnson:admin .git 

[/usr/local/Library/Taps/phinze-cask] 
$ brew update 

Updated Homebrew from 04e337db to 04e337db. 
==> New Formulae 
phinze/cask/curse-client  phinze/cask/plug   phinze/cask/undercover 
==> Updated Formulae 
phinze/cask/armitage   phinze/cask/plex-media-server phinze/cask/squirrel   phinze/cask/textadept  phinze/cask/tunnelbear  phinze/cask/vienna-rss 
phinze/cask/avidemux   phinze/cask/seamonkey  phinze/cask/tapaal   phinze/cask/totalfinder  phinze/cask/twitterrific   phinze/cask/vistrails 
phinze/cask/fritzing   phinze/cask/sqleditor  phinze/cask/teamspeak-client  phinze/cask/totalspaces  phinze/cask/vagrant 
Verwandte Themen