brew update
を実行しようとすると、マージするとローカルの変更が失われるというエラーが表示されます。私は自分のローカルな変更をコミットしようとしました(何か覚えていませんが、しばらくしていました)、それは事態を悪化させました。
出力は次のとおりです。
MBP:Library User$ Sudo brew update
error: The following untracked working tree files would be overwritten by merge:
Library/Aliases/fastcgi
Library/Aliases/htop
Library/Aliases/nodejs
Library/Aliases/ocio
Library/Aliases/oiio
Library/Aliases/pgrep
Library/Aliases/pkill
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-man
Library/Contributions/cmds/brew-mirror-check.rb
Library/Contributions/cmds/brew-missing.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.commit.html.erb
Library/Contributions/cmds/brew-test-bot.css
Library/Contributions/cmds/brew-test-bot.index.html.erb
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/install_homebrew.rb
Library/Formula/abcl.rb
Library/Formula/abyss.rb
Library/Formula/akka.rb
Library/Formula/apollo.rb
Library/Formula/appledoc.rb
Library/Formula/arangodb.rb
Library/Formula/autoconf.rb
Library/Formula/automake.rb
Library/Formula/avidemux.rb
Library/Formula/bind.rb
Library/Formula/bsdconv.rb
Library/Formula/bsdmake.rb
Library/Formula/camellia.rb
Library/Formula/cbmbasic.rb
Library/Formula/cdo.rb
Library/Formula/checkstyle.rb
Library/Formula/cifer.rb
Library/Formula/clhep.rb
Library/Formula/collada-dom.rb
Library/Formula/crash.rb
Library/Formula/crossroads.rb
Library/Formula/css-crush.rb
Library/Formula/curlftpfs.rb
Library/Formula/Dart.rb
Library/Formula/dasm.rb
Library/Formula/dfc.rb
Library/Formula/di.rb
Library/Formula/dsniff.rb
Library/Formula/dupx.rb
Library/Formula/dwatch.rb
Library/Formula/eprover.rb
Library/Formula/ext2Fuse.rb
Library/Formula/ezlupdate.rb
Library/Formula/f3.rb
Library/Formula/fastx_toolkit.rb
Library/Formula/fceux.rb
Library/Formula/findbugs.rb
Library/Formula/freerdp.rb
Library/Formula/funcoeszz.rb
Library/Formula/fwknop.rb
Library/Formula/gabedit.rb
Library/Formula/gbdfed.rb
Library/Formula/gconf.rb
Library/Formula/git-encrypt.rb
Library/Formula/glm.rb
Library/Formula/gmap-gsnap.rb
Library/Formula/gnu-Arch.rb
Library/Formula/gnunet.rb
Library/Formula/gobby.rb
Library/Formula/gptfdisk.rb
Library/Formula/griffon.rb
Library/Formula/grok.rb
Library/Formula/gtk-chtheme.rb
Library/Formula/gtkglextmm.rb
Library/Formula/gtmess.rb
Library/Formula/hg-flow.rb
Library/Formula/hqx.rb
Library/Formula/htop-osx.rb
Library/Formula/htpdate.rb
Library/Formula/imap-uw.rb
Library/Formula/iozone.rb
Library/Formula/ipbt.rb
Library/Formula/ipe.rb
Library/Formula/ispc.rb
Library/Formula/ispell.rb
Library/Formula/jigdo.rb
Library/Formula/jing.rb
Library/Formula/jless.rb
Library/Formula/jpeginfo.rb
Library/Formula/konoha.rb
Library/Formula/legit.rb
Library/Formula/libcouchbase.rb
Library/Formula/libcuefile.rb
Library/Formula/libextractor.rb
Library/Formula/libglademm.rb
Library/Formula/libgtextutils.rb
Library/Formula/libinfinity.rb
Library/Formula/libkate.rb
Library/Formula/libqalculate.rb
Library/Formula/libqglviewer.rb
Library/Formula/libreplaygain.rb
Library/Formula/libtool.rb
Library/Formula/libvbucket.rb
Library/Formula/libvo-aacenc.rb
Library/Formula/libxmi.rb
Library/Formula/lifelines.rb
Library/Formula/makeicns.rb
Library/Formula/mathgl.rb
Library/Formula/meld.rb
Library/Formula/mesalib-glw.rb
Library/Formula/minisat.rb
Library/Formula/minuit2.rb
Library/Formula/mobile-Shell.rb
Library/Formula/movgrab.rb
Library/Formula/mp3cat.rb
Library/Formula/mpich2.rb
Library/Formula/mrfast.rb
Library/Formula/musepack.rb
Library/Formula/ndiff.rb
Library/Formula/net6.rb
Library/Formula/nrpe.rb
Library/Formula/nuttcp.rb
Library/Formula/oath-toolkit.
Updating aa07533..3f070ef
Aborting
Error: Failed while executing git pull Origin refs/heads/master:refs/remotes/Origin/master
Originを取得することを忘れないでください!!!
$ cd /usr/local
$ git fetch Origin
$ git reset --hard Origin/master
説明、興味のある方へ:
どうなるかは、brewを更新しようとしているが、brew自体が最新でない可能性が高い(可能性が高い)、OSの更新によって権限が変更されている(可能性が高い)、またはbrewがわずかに破損している(可能性が低い)ことです。 brew自体はgitリポジトリであるため、brewをマスターブランチバージョンに更新またはリセットする必要があります。 brew [デフォルト]は/usr/local
フォルダーにあるため、
Sudoまたはadmin以外のプロファイルにいる場合は、最初のコマンドをchown
にすることもできます
$ Sudo chown -R `whoami` /usr/local
$ cd /usr/local
$ git reset --hard Origin/master
Gitのリセットを理解するには、 この記事 をご覧ください。
古い自作インストールを更新しようとして数週間前に同様の問題がありました。これを行う:
git reset --hard Origin/master
/usr/local
で修正されました。
他の人々もこの問題を抱えているようです。提案された回避策のいずれかを見ましたか here ?
2012年に提案されたものよりも少し安全だと思われるので、個人的な経験を追加します。
brew doctor
を実行します。次の警告が表示される場合:
Warning: The /usr/local directory is not writable.
実行:
Sudo chown -R `whoami` /usr/local
パーミッションの問題を修正するために(クリス・フリシナも提案したとおり)。最終的にbrew doctor
を再度実行して、警告が消えたことを確認します。
今、あなたは持っている必要があります
Warning: You have uncommitted modifications to Homebrew
それによって解決されるかもしれない
cd /usr/local/Library && git stash && git clean -d -f
dr.Brew自身が示唆したとおり。このコマンドはコミットされていない変更を隠し、必要に応じて戻ってそれらを回復できるようにします。私にとっては、git reset --hard Origin/master
より安全だと思われました。
必要に応じて、 公式トラブルシューティングガイド を確認してください。ここおよび他のSOユーザーが推奨する手順で問題が解決しない場合。
同様の答えですが、追跡されなくなったファイルがある場合は、/usr/local
runから追加のステップが必要です
git fetch Origin
git clean -f
git reset --hard Origin/master
この方法は、いくつかの方法よりも簡単な場合があります。以下が含まれます。
手順(説明が必要な人のためのメモ付き):
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:この2番目のコマンドは、正しいリモートURLを新しいエイリアスに追加します。このアプローチが私が望んでいたことを達成できなかった場合に備えて、私はそうしました、そして、私は前のアドレスを再び必要としました。新しいリモートが機能したので、OriginによってエイリアスされたURLの変更についてコメントするように他の人を招待します。私はあなたのために働いたものを反映するために答えを喜んで更新します。
注3:この4番目のコマンドは、まさに望ましい結果をもたらします。特に、「==> HOMEBREW_REPOSITORYを/ usr/local/Homebrewに移行しました!」という素敵なレポートを含む、多数の更新を報告します。 (彼らの強調)。