207 votes

Échec de la mise à jour du brassage : les fichiers non suivis de l'arbre de travail seraient écrasés par la fusion.

J'essaie de mettre à jour Homebrew avec brew update J'ai obtenu l'erreur suivante

error: The following untracked working tree files would be overwrittenby merge:     
 Library/Formula/argp-standalone.rb
 Library/Formula/cocot.rb 
Please move or remove them before you can merge. 
Aborting 
Updating e088818..5909e2c 
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

J'ai trouvé un article sur le blog de quelqu'un qui a rencontré un problème similaire après avoir installé Mountain Lion (ce que j'ai fait cette semaine également). Il explique comment il a supprimé les fichiers mentionnés dans le message d'erreur

I removed these files:
$ cd $(brew --prefix)
$ rm cocot.rb
However, removing these files didn't help with the brew update. Instead I had to manually update brew through git:
$ cd $(brew --prefix)
$ git fetch origin
$ git reset --hard origin/master
$ brew update
Already up-to-date.

En supposant que ces instructions sont correctes (ce que je ne devrais peut-être pas supposer), j'ai essayé de suivre ces instructions et de faire

    $ cd $(brew --prefix)
    $ rm cocot.rb

Cependant, lorsque j'ai essayé de rm cocot.rb, le message "file doesn't exist" est apparu.

Une chose dont je ne suis pas sûr, c'est que le cd $(brew --prefix) Est-ce que ce sont les mots exacts que je tape ou est-ce que je dois remplacer prefix par quelque chose ? le cd a réussi, donc je suppose qu'il était correct -- il m'a déplacé dans /usr/local, mais il n'y avait pas de fichier à supprimer. Le contenu de /usr/local est

Cellar              clamXav             git             mysql               var Library             doc             heroku              mysql-5.5.15-osx10.6-x86_64 README.md           etc             include             rvm bin             foreman             lib             share

En tout cas, savez-vous comment je peux réparer la mise à jour de la bière ?

Mise à jour : Après avoir supprimé les fichiers selon les instructions de favoretti et essayé chown -R <your_username> $(brew --prefix)/.git J'ai obtenu l'erreur suivante en cours d'exécution brew update

error: The following untracked working tree files would be overwritten by merge:
    Library/Aliases/gperftools
    Library/Aliases/hashdeep
    Library/Aliases/htop
    Library/Aliases/nodejs
    Library/Aliases/ocio
    Library/Aliases/oiio
    Library/Aliases/pgrep
    Library/Aliases/pkill
    Library/Aliases/qt4
    Library/Aliases/twolame
    Library/Aliases/wxwidgets
    Library/Contributions/cmds/brew-aspell-dictionaries
    Library/Contributions/cmds/brew-beer.rb
    Library/Contributions/cmds/brew-dirty.rb
    Library/Contributions/cmds/brew-graph
    Library/Contributions/cmds/brew-grep
    Library/Contributions/cmds/brew-leaves.rb
    Library/Contributions/cmds/brew-linkapps.rb
    Library/Contributions/cmds/brew-ls-taps.rb
    Library/Contributions/cmds/brew-man
    Library/Contributions/cmds/brew-md5-to-sha1
    Library/Contributions/cmds/brew-mirror-check.rb
    Library/Contributions/cmds/brew-pull.rb
    Library/Contributions/cmds/brew-readall.rb
    Library/Contributions/cmds/brew-server
    Library/Contributions/cmds/brew-services.rb
    Library/Contributions/cmds/brew-switch.rb
    Library/Contributions/cmds/brew-test-bot.rb
    Library/Contributions/cmds/brew-tests.rb
    Library/Contributions/cmds/brew-unpack.rb
    Library/Contributions/cmds/brew-which.rb
    Library/Contributions/cmds/git
    Library/Contributions/cmds/svn
    Library/ENV/4.3/apr-1-config
    Library/ENV/4.3/bsdmake
    Library/ENV/4.3/c++
    Library/ENV/4.3/c89
    Library/ENV/4.3/c99
    Library/ENV/4.3/cc
    Library/ENV/4.3/clang
    Library/ENV/4.3/clang++
    Library/ENV/4.3/cpp
    Library/ENV/4.3/g++
    Library/ENV/4.3/gcc
    Library/ENV/4.3/git
    Library/ENV/4.3/i686-apple-darwin11-llvm-g++-4.2
    Library/ENV/4.3/i686-apple-darwin11-llvm-gcc-4.2
    Library/ENV/4.3/ld
    Library/ENV/4.3/llvm-g++
    Library/ENV/4.3/llvm-g++-4.2
    Library/ENV/4.3/llvm-gcc
    Library/ENV/4.3/llvm-gcc-4.2
    Library/ENV/4.3/make
    Library/ENV/4.3/mig
    Library/ENV/4.3/sed
    Library/ENV/4.3/svn
    Library/ENV/4.3/xcrun
    Library/ENV/libsuperenv.rb
    Library/ENV/pkgconfig/leopard/libcrypto.pc
    Library/ENV/pkgconfig/leopard/libcurl.pc
    Library/ENV/pkgconfig/mountain_lion/libcurl.pc
    Library/ENV/pkgconfig/mountain_lion/libexslt.pc
    Library/ENV/pkgconfig/mountain_lion/libxml-2.0.pc
    Library/ENV/pkgconfig/mountain_lion/libxslt.pc
    Library/Formula/abcl.rb
    Library/Formula/abcmidi.rb
    Library/Formula/aiccu.rb
    Library/Formula/akka.rb
    Library/Formula/alac.rb
    Library/Formula/alure.rb
    Library/Formula/appledoc.rb
    Library/Formula/arangodb.rb
    Library/Formula/argp-standalone.rb
    Library/Formula/argtable.rb
    Library/Formula/autopano-sift-c.rb
    Library/Formula/avian.rb
    Library/Formula/avidemux.rb
    Library/Formula/avro-cpp.rb
    Library/Formula/aws-cloudsearch.rb
    Library/Formula/aws-sns-cli.rb
    Library/Formula/backupninja.rb
    Library/Formula/bact.rb
    Library/Formula/bam.rb
    Library/Formula/basex.rb
    Library/Formula/berkeley-db4.rb
    Library/Formula/bind.rb
    Library/Formula/blazeblogger.rb
    Library/Formula/bochs.rb
    Library/Formula/boost149.rb
    Library/Formula/bsdconv.rb
    Library/Formula/bsdmake.rb
    Library/Formula/buildapp.rb
    Library/Formula/bup.rb
    Library/Formula/byacc.rb
    Library/Formula/cadubi.rb
    Library/Formula/camellia.rb
    Library/Formula/casperjs.rb
    Library/Formula/ccextractor.rb
    Library/Formula/cconv.rb
    Library/Formula/cdo.rb
    Library/Formula/cdpr.rb
    Library/Formula/cgvg.rb
    Library/Formula/checkstyle.rb
    Library/Formula/chordii.rb
    Library/Formula/chruby.rb
    Library/Formula/cifer.rb
    Library/Formula/clhep.rb
    Library/Formula/cntlm.rb
    Library/Formula/cocot.rb
    Library/Formula/cogl.rb
    Library/Formula/collada-dom.rb
    Library/Formula/crash.rb
    Library/Formula/crossroads.rb
    Library/Formula/crosstool-ng.rb
    Library/Formula/css-crush.rb
    Library/Formula/csync.rb
    Library/Formula/ctemplate.rb
    Library/Formula/curlftpfs.rb
    Library/Formula/cutter.rb
    Library/Formula/cvsutils.rb
    Library/Formula/darkstat.rb
    Library/Formula/darner.rb
    Library/Formula/dart.rb
    Library/Formula/dasm.rb
    Library/Formula/debianutils.rb
    Library/Formula/dfc.rb
    Library/Formula/dgtal.rb
    Library/Formula/dhcping.rb
    Library/Formula/di.rb
    Library/Formula/dmtx-utils.rb
    Library/Formula/drip.rb
    Library/Formula/dsniff.rb
    Library/Fo
Aborting
Updating e088818..c1fbc29
Error: Failed while executing git pull  origin refs/heads/master:refs/remotes/origin/master

360voto

favoretti Points 10076

Vous devez faire ce qui suit :

cd $(brew --prefix)
rm Library/Formula/argp-standalone.rb
rm Library/Formula/cocot.rb

Et ensuite faire le

git fetch origin
git reset --hard origin/master
brew update

En fait, pour expliquer un peu plus :

cd $(brew --prefix)

dit à cd pour changer le répertoire en brew --prefix va sortir. Si vous essayez d'exécuter brew --prefix vous devriez voir quelque chose dans les lignes de :

brew --prefix
/usr/local

La commande serait donc dans ce cas un équivalent de cd /usr/local . Plus récent brew a des formules sous son préfixe d'installation et Library/Formula/ C'est donc là que vous devez chercher les fichiers modifiés ou périmés.

Notez que si vous avez modifié ces formules vous-même pour une raison particulière (comme l'épinglage d'une version), cette action les ramènera aux formules par défaut et peut produire des effets non désirés.

@TedPennings a noté dans les commentaires que cela a fonctionné pour lui, mais sa séquence était :

  1. Chown tout vers my_username:admin c'est-à-dire, sudo chown -R ted:admin $(brew --prefix)
  2. exécutez les deux commandes git ci-dessus, git fetch origin y git reset --hard origin/master

279voto

Strand McCutchen Points 1373
cd $(brew --prefix)
git reset --hard HEAD
brew update

46voto

Eric Wu Points 291

Cela est dû à un ancien bogue dans le update qui a été corrigé depuis longtemps. Cependant, la nature du bogue exige que vous fassiez ce qui suit :

cd $(brew --repository)
git reset --hard FETCH_HEAD

Si brew doctor se plaint toujours de modifications non validées, exécutez également cette commande :

cd $(brew --repository)    
git clean -fd

31voto

ron Points 553
$ cd $(brew --prefix)
$ git clean -fd
$ git reset --hard
$ sudo chown -R `whoami` `brew --prefix`
$ brew update

Note : les étapes 2&3 ont fonctionné pour moi puisque j'ai fait l'étape 5 avant l'étape 4 avant d'avoir l'erreur. Le site mise à jour du brassage avant de changer le propriétaire du dossier a causé tout le problème.

6voto

demesne Points 146

J'ai eu un problème similaire où ma bibliothèque de paquets brew a été téléchargée en tant qu'utilisateur Root et ensuite je n'ai pas pu exécuter brew update car git se plaignait de ne pas pouvoir fusionner le fichier.

La solution était à faire :-

sudo chown -R <user> /usr/local/Library

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X