homebrewにインストール済みのソフトウェアを強制的に更新させるにはどうすればよいですか?


13

ピアノバーがインストールされていますが、を使用して更新しようとしていbrew update pianobarます。私も試しましbrew update pianobar --forceたが、効果はありませんでした。ローカルに変更があると書かれていますが、これらを上書きするように指示する方法がわかりません。

From http://github.com/mxcl/homebrew
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    Library/Formula/android-ndk.rb
    Library/Formula/android-sdk.rb
    Library/Formula/center-im.rb
    Library/Formula/putty.rb
    Library/Formula/python.rb
    ... (lines removed) ...
    Library/Formula/upx.rb
    Library/Formula/vimpager.rb
    Library/Homebrew/cmd/doctor.rb
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
    Library/Formula/tth.rb
Please move or remove them before you can merge.
Updating 45bc7ad..36f4400
Aborting
Error: Failed while executing git pull http://github.com/mxcl/homebrew.git master

2
使用する必要があると思いますupgradeupdate数式を更新するためのものです。
フェリックス

回答:


14

あなたがそれを台無しにするために何もしないときにHomebrewでなぜこれが起こるのか分かりませんが、ここに私がそれを修正した方法があります:

  1. Homebrewセラーディレクトリに移動します cd `brew --cellar`
  2. Gitリポジトリをリセットする git reset --hard HEAD
  3. ついにピアノバーをアップグレード! brew upgrade pianobar

参考までに、brew updateHomebrewを最新バージョンに更新するため、ステップ3の前にそれを行うことをお勧めします。


1-3を実行し、期待どおりに機能しました、ありがとう!しかし、私がピアノバーを実行しようとすると、それは言うLogin... Error: Protocol incompatible. Please upgrade libpiano.-何か考えはありますか?また、私brew updateがエラーを取得しようとしたときに、次の追跡されていない作業ツリーファイルがマージによって上書きされます:Library / Formula / tth.rb。エラー:gitのプルの実行中にエラーが発生しましたgithub.com/mxcl/homebrew.gitのマスターを-申し訳ありませんが私は自作に新しいですし、本当に確か私はやっていないです。
cwd

1
ああ、git、あなたは人生をとても楽しくします!でくださいcd `brew --prefix`その後、git clean -fその後、してみてくださいbrew update。Pianobarの問題に関しては、brew upgrade libpiano次に試してみたいと思いますが、私はそれを使用していないので、確信がありません。
swrobel

それはうまくいきました、すべての助けに感謝します!明らかに、リリースされているlibpianoのバージョンはまだ十分ではありませんが、すべてが最新であると言ってもエラーが表示されるためです。
cwd

喜んでお手伝いします。私はちょうどピアノバーをインストールし、それは私のために動作します。Pandoraが最近プロトコルを更新したことは知っていますが、HomebrewのPianobarバージョンは最新のようです。私は2011.09.22、あなたのものは何ですか?ピアノバーを実行した後、最初の行に表示されます。
swrobel

2

@Felixが言ったように、upgradenotを使用しますupdate

汚れたgitツリーが原因で問題が発生し、変更を忘れたい場合は、git reset --hard HEADアップグレードする前に入力してください。


私はそれをしようとすると、何も起こりません... brew upgrade pianobar -vKernel.exit与えます
CWD

実行すると何が得られますtype -a brewか?
ロバートSチャシオ

brewは/ usr / local / bin / brew
cwd

0

これは一般的な回答であり、pianobar問題に固有のものではありません。

インストールされたソフトウェアを更新するには、まずbrewを更新します。 brew update

そして、インストールされたソフトウェアをアップグレードします。 brew upgrade

一部のソフトウェアがアップグレードされないようにするには、次を実行します brew pin YOUR-PACKAGE-HERE

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.