如何强制自制软件更新已安装的软件?


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用于更新公式。
菲利克斯(Felix)

Answers:


14

我不知道为什么当您不做任何事情来使Homebrew发生这种情况时,我将其修复为以下方式:

  1. 转到您的Homebrew酒窖目录 cd `brew --cellar`
  2. 重置git仓库 git reset --hard HEAD
  3. 终于升级钢琴吧! brew upgrade pianobar

仅供参考,brew update会将Homebrew更新到最新版本,因此您可能需要在第3步之前执行此操作。


做1-3,它按预期工作,谢谢!但是,当我尝试运行钢琴架时,它会说Login... Error: Protocol incompatible. Please upgrade libpiano.-有什么想法吗?当我尝试也brew update得到错误:以下未跟踪的工作树文件将被合并覆盖:Library / Formula / tth.rb。错误:执行git pull github.com/mxcl/homebrew.git master时失败-抱歉,我是Homebrew的新手,真的不确定自己在做什么。
cwd

1
啊,git,你让生活变得如此有趣!不要cd `brew --prefix`然后git clean -f再尝试brew update。至于Pianobar问题,我会尝试brew upgrade libpiano下一个,但是我没有使用它,所以我不确定。
swrobel 2011年

的工作,非常感谢所有的帮助!显然,libpiano的版本还不够新,尽管自从我仍然遇到错误后,尽管它说所有内容都是最新的。
cwd

乐意效劳。我刚刚安装了钢琴架,它对我有用。我知道Pandora最近更新了他们的协议,但似乎Homebrew的Pianobar版本是最新的。我的是2011.09.22,你叫什么?运行钢琴条后,它应该显示在第一行。
swrobel 2011年

2

就像@Felix所说的,upgrade不要使用update

如果问题来自肮脏的git树,而您只是想忘记所做的修改,请git reset --hard HEAD在升级前输入。


当我尝试这样做时什么也没发生... brew upgrade pianobar -v给Kernel.exit
cwd

您跑步时会得到什么type -a brew
罗伯特·希亚乔

brew是/ usr / local / bin / brew
cwd

0

这是一个一般性的答案,并不特定于您的pianobar问题。

要更新已安装的软件,请先更新brew: brew update

然后升级已安装的软件: brew upgrade

为了防止某些软件升级,请执行 brew pin YOUR-PACKAGE-HERE

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.