J'ai essayé de mettre à jour le breuvage:
Sudo brew update
Mais j'ai eu cette erreur:
erreur: vos modifications locales dans les fichiers suivants seraient écrasées par la fusion:
Liste de nombreux fichiers
Erreur: échec lors de l'exécution de git pull http://github.com/mxcl/homebrew.git master
Une idée de ce qui ne va pas?
Il y avait un bug dans Homebrew qui a été corrigé il y a quelques jours à peine. Pour corriger le bogue, vous pouvez exécuter git reset --hard FETCH_HEAD
dans votre installation Homebrew. Comme cela ne résoudra pas les fichiers déjà considérés comme modifiés, vous pouvez également exécuter git checkout Library
pour remplacer votre paiement par les derniers fichiers. (Cela efface toutes les modifications, alors prenez les mesures appropriées avec celles que vous avez apportées.)
La réponse acceptée est correcte mais incomplète. Si vous obtenez l'erreur de
erreur: les fichiers d'arborescence de travail non suivis suivants seraient remplacés par la fusion:
Accédez ensuite à votre terminal et exécutez ces commandes
cd /usr/local
Alors
git reset --hard FETCH_HEAD
Alors
git checkout Library
Cela devrait tout mettre en ordre. Ensuite, exécutez
brew update
Permettez-moi d'ajouter: cd /usr/local/git
puis exécutez git reset --hard FETCH_HEAD
accédez à votre terminal et exécutez ces commandes
cd /usr/local
Sudo git reset --hard FETCH_HEAD
Sudo git checkout Library
Pour ceux d'entre vous qui utilisent OS X El Capitan, votre problème peut être la protection de l'intégrité du système.
Si /usr/local
existe déjà, exécutez ce qui suit dans Terminal:
Sudo chown -R $(whoami):admin /usr/local
Si /usr/local
n'existe pas:
Tout d'abord, essayez de créer /usr/local
la voie normale:
Sudo mkdir /usr/local && Sudo chflags norestricted /usr/local && Sudo chown -R $(whoami):admin /usr/local
Si vous voyez des problèmes d'autorisation, essayez plutôt:
csrutil disable
csrutil enable
Pour aucune raison (ou du moins personne que je comprendrais), le référentiel dans /usr/local
(qui est l'installation de brew!) a perdu son référentiel distant. Donc, ni un git reset
ni un git pull
et certainement pas brew update
travaillerait.
Comment savez-vous que c'est arrivé? Vérifier /usr/local/.git/config
s'il existe des lignes comme celles-ci:
[remote "Origin"]
url = http://github.com/mxcl/homebrew.git
fetch = +refs/heads/*:refs/remotes/Origin/*
Sinon, procédez comme suit:
cd /usr/local
git remote add Origin http://github.com/mxcl/homebrew.git
git pull Origin master