尝试使用brew update
更新Homebrew我收到以下错误
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
我在安装了Mountain Lion之后遇到类似问题的人发现了一篇博客文章(我本周也做过)。他解释了他如何删除错误消息中提到的文件
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.
假设这些说明是正确的(我可能不应该假设),我试着按照这些说明进行操作
$ cd $(brew --prefix)
$ rm cocot.rb
然而,当我尝试使用rm cocot.rb
时,它说“文件不存在”我不确定的一件事是cd $(brew --prefix)
那些我输入的确切字词还是我必须用某些东西替换前缀? CD是成功的,所以我假设它是正确的 - 它将我移动到/ usr / local,但没有文件要删除。 / usr / local的内容是
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
无论如何,你知道如何修复'brew update'
更新:根据favoretti的说明删除文件并尝试chown -R <your_username> $(brew --prefix)/.git
后,运行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
答案 0 :(得分:361)
您需要执行以下操作:
cd $(brew --prefix)
rm Library/Formula/argp-standalone.rb
rm Library/Formula/cocot.rb
然后执行
git fetch origin
git reset --hard origin/master
brew update
基本上,要解释一下:
cd $(brew --prefix)
告诉cd
将目录更改为brew --prefix
将输出的内容。
如果您尝试执行brew --prefix
命令,您应该看到以下行中的内容:
brew --prefix
/usr/local
因此,在这种情况下,命令将等同于cd /usr/local
。
较新的brew
版本在其安装前缀和Library/Formula/
下有公式,因此您需要查找那些过时/更改过的文件。
请注意,如果您因特定原因(例如固定版本)而自行更改了这些公式,则此操作会将其还原为默认值,并可能产生不良影响。
@TedPennings在评论中指出这对他有用,但他的序列是:
my_username:admin
,即sudo chown -R ted:admin $(brew --prefix)
git fetch origin
和git reset --hard origin/master
答案 1 :(得分:279)
cd $(brew --prefix)
git reset --hard HEAD
brew update
答案 2 :(得分:46)
这是由update
代码中的旧错误造成的,该错误早已得到修复。但是,错误的性质要求您执行以下操作:
cd $(brew --repository)
git reset --hard FETCH_HEAD
如果brew doctor
仍抱怨未提交的修改,也请运行以下命令:
cd $(brew --repository)
git clean -fd
答案 3 :(得分:31)
$ cd $(brew --prefix)
$ git clean -fd
$ git reset --hard
$ sudo chown -R `whoami` `brew --prefix`
$ brew update
注意:第2步和第3步对我有用,因为我在收到错误之前在4之前执行了第5步。更改文件夹所有者之前的 brew更新会导致整个问题。
答案 4 :(得分:6)
我有一个类似的问题,我的brew包库以root用户身份下载,然后我无法运行brew更新,因为git会抱怨无法合并文件。
解决方案是: -
sudo chown -R <user> /usr/local/Library
答案 5 :(得分:5)
如果您不介意放弃对可能已应用的公式的潜在修改,则重置brew存储库应该是最有效的方法:
$ cd `brew --prefix`
$ git fetch origin
$ git reset --hard origin/master
$ brew cleanup --force
$ brew update
答案 6 :(得分:4)
通过在这些路径中添加admin group write(和setgid bit)权限,我能够在我的计算机上修复此问题:
sudo chmod -R g+ws /usr/local /Library/Caches/Homebrew
s在执行时设置组ID,以便下次其他管理员用户更新或升级Homebrew时不会丢失写入权限。
这个答案有点不完整,因为当我尝试执行brew cleanup --force
时,Homebrew尝试删除/ usr / local / Cellar /中的内容时会出现权限问题。 (不幸的是,我目前无法对此进一步调查。)
答案 7 :(得分:1)
另一种选择是使用git stash
。
brew update命令执行git pull
,因此如果有任何更改的文件(甚至文件属性,当我在递归中更改目录中的权限时发生这种情况),您必须以某种方式修复冲突。使用git stash
是一种方式;它需要进行任何更改并将它们放在一边,以便您有效地恢复到上次更新的repo版本。 Homebrew'location'默认为/usr/local
,它安装为git存储库。您可以查找.git
文件夹以便自己查看。我正在编写一个自制卸载脚本,以便在我的GitHub配置文件中发布更多信息。
答案 8 :(得分:1)
sudo chown -R USER /usr/local/bin
注意 - 对于USER使用命令,即您的用户名
sudo brew doctor
答案 9 :(得分:1)
这种方法可能比某些方法简单。它涉及:
步骤(有需要解释的人的注释):
cd $(brew --repository) // see Note 1 below
git remote add brew https://github.com/Homebrew/brew // see Note 2 below
git pull brew master // promising fast-forward report!
brew update // see Note 3 below
概述:
据我所知,这个问题的实际原因是回购网址的变化。它现在是brew
并且是brew.git
。 (完整的最新网址:https://github.com/Homebrew/brew)
注1:第一个命令将您从文件结构中的任何位置带到正确的目录。对我来说,目录结构与上面显示的不同(Mac OS 10.11.16),但是使用此命令,这些差异无关紧要。
注2:第二个命令将正确的远程URL添加到新别名中;我这样做是为了防止这种方法没有达到我想要的效果,我再次需要以前的地址。由于新的遥控器工作,我邀请其他人评论只是通过原点更改别名的URL。我很乐意更新答案,以反映对您有用的内容。
注3:此第四个命令具有完全所需的结果:它报告大量更新,包括&#34; ==&gt;的特别好的报告。将HOMEBREW_REPOSITORY迁移到/ usr / local / Homebrew!&#34; (强调他们的)。
答案 10 :(得分:0)
This post帮助了我。在我的情况下,var number = 2;
var numberInString = number.toString();
var code = numberInString.charCodeAt(0);
console.log(code);
没有工作(&#34; zsh:命令未找到:chown&#34;),所以第1步是将此行添加到我的.zshrc中:
chown
我已经尝试过上面几个比较流行的答案了,所以我非常确定当我从博客帖子粘贴到关键命令时,export PATH="$PATH:/usr/sbin"
会变得干净:
git status
答案 11 :(得分:0)
这应该有用。
1. cd `brew --prefix`
2. git fetch origin
3. git reset --hard origin/master
4. sudo brew update