BREW 업데이트 실패 : 추적되지 않은 작업 트리 파일을 병합하여 덮어 씁니다.


207

Homebrew를 업데이트하려고 brew update하면 다음 오류가 발생합니다.

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

그러나 cocot.rb를 rm하려고 할 때 '파일이 없습니다'라고 말했습니다.

확실하지 않은 한 가지는 cd $(brew --prefix)입력 한 정확한 단어입니까 아니면 접두사를 다른 것으로 바꿔야합니까? CD가 성공적이므로 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


github.com/Homebrew/homebrew-core-Homebrew Core의 공식 README.md를 확인하십시오. 이전 답변 중 일부가 권장하는 것처럼 권한을 조정할 필요가 없습니다. 또한 현재 공식 소스 URL을 가리키는 지 확인하십시오. 이 답변에 대한 추가 정보 : stackoverflow.com/questions/14113427/…
Kay V

답변:


279
cd $(brew --prefix)
git reset --hard HEAD
brew update

원래 질문과 비슷한 문제가 있지만 충돌하는 파일이 다릅니다. 재설정만으로 문제를 업데이트하고 해결할 수있었습니다.
David

17
당신은 또한 수행 할 수 있습니다 git add .다음에 git stashP :
MKK

나를 위해 작동합니다. 말 그대로이 CD를 입력하십시오 $ (brew --prefix)
Saran

13
만약, 함께 양조 디렉토리로 변경 한 후 cd $(brew --prefix)와와 자식 단계를 재설정 git reset --hard HEAD하여 git status당신은 또한 실행하여 상태를 정리해야 할 수도 있습니다 청소 반환하지 않습니다 작업 디렉토리 git clean -df.
Strand McCutchen

82
대신에 git reset --hard HEAD(나를 위해 작동하지 것이다), 내가 그랬어 git fetch --allgit reset --hard origin/master
케빈.

360

다음을 수행해야합니다.

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는 주석에서 이것이 효과가 있었지만 그의 순서는 다음과 같습니다.

  1. 모든 것을 씹다 my_username:admin , 즉,sudo chown -R ted:admin $(brew --prefix)
  2. 위의 두 가지 git 명령을 실행 git fetch origin하고git reset --hard origin/master

1
git reset --hard origin / master를 수행했을 때 부분적으로 만 작동하는 것처럼 보였습니다. 출력입니다. 오류 : 이전 '.gitignore'(권한 거부)를 연결 해제 할 수 없습니다. 오류 : 파일을 작성할 수 없습니다. CONTRIBUTING.md (권한 거부) 파일 체크 아웃 : 100 % (2493/2493) 완료. 치명적 : 인덱스 파일을 'origin / master'개정으로 재설정 할 수 없습니다.
BrainLikeADullPencil

3
그것은 당신의 권한이 망가 졌다는 것을 의미합니다. 한 가지 방법은 달리고 sudo git reset --hard다른 방법은 권한을 수정하고 수행하는 것입니다chown -R <your_username> $(brew --prefix)/.git
favoretti

이것은 어떻게 여기처럼 내 양조 접두사 모양에 대한 사용 권한 :drwxrwxr-x 16 root admin 646 Dec 27 20:30 /usr/local/
favoretti

19
이 솔루션은 나를 위해 일을 고정,하지만 난 내 이름에 대한 Chown 모든 것을했다 : 관리자, 즉, sudo chown -R ted:admin $(brew --prefix)다음 위의 두 자식 명령을 실행 git fetch origin하고git reset --hard origin/master
테드 Pennings을

2
@TedPennings : 멋지다! 가능한 추가 단계로 답변에 명령을 추가하겠습니다.
favoretti

46

이것은 update오랫동안 수정 된 코드 의 오래된 버그로 인해 발생합니다 . 그러나 버그의 특성상 다음을 수행해야합니다.

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

brew doctor커밋되지 않은 수정에 대해 여전히 불평이 있으면 다음 명령도 실행하십시오.

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

3
이 솔루션은 허용 된 답변이 없을 때 효과적이었습니다.
JBCP

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

참고 : 오류가 발생하기 전에 4 전에 5 단계를 수행 한 이후 2 & 3 단계가 저에게 효과적이었습니다. 양조 갱신 폴더의 소유자를 변경하기 전에 전체 문제를 일으켰습니다.


이것은 나를 위해 일했습니다. /usr/local다른 권한으로 물건을 설치하는 다른 프로그램으로 인해 발생할 수 있다고 덧붙이고 싶습니다 . 저에게는 루트 권한으로 설치된 MacPGP였습니다.
Overbryd

1
/usr/local의 권한으로 엉망인 Mac OS X 10.11로 업그레이드 한 후 문제가 해결되었습니다 . 감사!
CletusW

권한을 변경하고 디렉토리를 수동으로 이동할 필요가 없을 수도 있습니다. 예를 들어 stackoverflow.com/a/40599893/5440638을 참조하십시오 .
Kay V

6

BREW 패키지 라이브러리가 루트 사용자로 다운로드 된 비슷한 문제가 있었고 git이 파일을 병합 할 수 없다는 불만 때문에 BREW 업데이트를 실행할 수 없었습니다.

해결책은 다음과 같습니다.

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

5

적용된 수식에서 잠재적 인 수정을 버리지 않으려면 추출 저장소를 재설정하는 것이 가장 효율적인 방법이어야합니다.

$ cd `brew --prefix`
$ git fetch origin
$ git reset --hard origin/master
$ brew cleanup --force
$ brew update

4

이 경로에 관리자 그룹 쓰기 및 setgid 비트 권한을 추가하여 내 컴퓨터 에서이 문제를 해결할 수있었습니다.

sudo chmod -R g+ws /usr/local /Library/Caches/Homebrew

s는 다음 번에 다른 관리자가 Homebrew를 업데이트하거나 업그레이드 할 때 쓰기 권한이 손실되지 않도록 실행시 그룹 ID를 설정합니다.

brew cleanup --forceHomebrew가 / usr / local / Cellar /에서 콘텐츠를 제거하려고 할 때 권한 문제가 있기 때문에이 답변은 다소 불완전 합니다. (불행히도 현재로서는 더 이상 조사 할 수 없습니다.)


2
Homebrew 권한을 수정하기 위해 널리 사용되는 스크립트가 있습니다. 나는 그것을 직접 사용할 필요가 없었습니다. : 나는 수동으로 변경 : 그러나 5 월 도움말 다른 한 gist.github.com/rpavlik/768518
스티브 베너를

1

또 다른 옵션은을 사용하는 것 git stash입니다.

brew update 명령은을 수행 git pull하므로 변경된 파일 (또는 디렉토리에서 권한을 재귀 적으로 변경했을 때 나에게 발생한 파일 속성)이 있으면 어떻게 든 충돌을 해결해야합니다. 사용 git stash은 한 가지 방법입니다. 변경 사항을 적용하고 옆에 두므로 마지막으로 업데이트 된 리포지토리 버전으로 효과적으로 되돌릴 수 있습니다. Homebrew 'location'은 기본적 /usr/local으로 git 저장소로 설치됩니다. .git직접 볼 폴더를 찾을 수 있습니다 . 더 많은 정보와 함께 GitHub 프로필에 게시 될 homebrew 제거 스크립트를 작성 중입니다.


1
sudo chown -R USER /usr/local/bin

참고-사용자 이름, 즉 사용자 이름

sudo brew doctor

또는 일반화 : sudo chown -R $USER /usr/local/bin위치를 추가 $하면 현재 USER 이름을 보유하는 USER env 변수가 위치합니다.
Cometsong

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 

개요 :
내가 알 수 있듯이이 문제의 실제 원인은 저장소 URL의 변경입니다. 지금 brew이었어요 brew.git. (전체 최신 URL : https://github.com/Homebrew/brew )

참고 1 :이 첫 번째 명령은 파일 구조의 어느 곳에서나 올바른 디렉토리로 이동합니다. 디렉토리 구조는 다른 사람들이 위에서 보여준 것과는 다르지만 (Mac OS 10.11.16)이 명령을 사용하면 이러한 차이는 중요하지 않습니다.

참고 2 :이 두 번째 명령은 올바른 원격 URL을 새 별칭에 추가합니다. 이 접근법이 내가 원하는 것을 달성하지 못하고 이전 주소를 다시 필요로하는 경우를 대비하여 그렇게했습니다. 새로운 리모컨이 작동했기 때문에 다른 사람을 초대하여 별명으로 URL을 변경하는 것에 대해 언급하도록하겠습니다. 도움이 된 내용을 반영하여 답변을 기쁘게 업데이트하겠습니다.

참고 3 :이 네 번째 명령은 정확히 원하는 결과를 얻습니다. 특히 "==> HOMEBREW_REPOSITORY를 / usr / local / Homebrew! (강조).


이것은 실행할 때 504 오류가 발생할 때 작동 brew update합니다.
옴니로드

0

이 게시물 은 El Capitan으로 업데이트 한 도움 이되었습니다 . 제 경우 chown에는 작동하지 않아서 ( "zsh : command not found : chown") 1 단계에서이 행을 .zshrc에 추가했습니다.

export PATH="$PATH:/usr/sbin"

위의 인기있는 답변 중 몇 가지를 이미 시도 했으므로 git status블로그 게시물의 중요한 명령에 붙여 넣을 때까지 깨끗하게 나오고 있다고 확신합니다 .

sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local


0

이 작동합니다.

1. cd `brew --prefix`
2. git fetch origin
3. git reset --hard origin/master
4. sudo brew update

Fouw, homedo를 사용할 때는 sudo를 사용하지 않는 것이 좋습니다. sudo를 사용하여 명령을 입력 할 때 homebrew가 유용하게 제공하는 경고뿐만 아니라이 질문에 대한 다른 답변에 대한 투표를 참고하십시오. @ A5308Y는 sudo가 왜 나쁜지에 대한 FAQ 링크를 제공합니다. 해당 FAQ의 최신 버전은 github.com/Homebrew/brew/blob/master/docs/에 있습니다. sudo없이 단계 를 수행해 보셨습니까?
Kay V
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.