Bagaimana cara memaksa homebrew memperbarui perangkat lunak yang diinstal?


13

Saya telah menginstal pianobar dan saya mencoba memperbaruinya dengan menggunakan brew update pianobar. Saya juga mencoba brew update pianobar --forcetetapi itu tidak berpengaruh. Dikatakan bahwa saya memiliki perubahan lokal, tetapi saya tidak yakin bagaimana mengatakannya hanya menimpanya.

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
Saya pikir Anda harus menggunakan upgrade. updateadalah untuk memperbarui formula.
— Felix

Jawaban:


14

Saya tidak tahu mengapa ini terjadi pada Homebrew ketika Anda tidak melakukan apa-apa untuk mengacaukannya, tapi inilah cara saya memperbaikinya:

  1. Ubah ke direktori gudang Homebrew Anda cd `brew --cellar`
  2. Setel ulang repositori git git reset --hard HEAD
  3. Tingkatkan pianobar, akhirnya! brew upgrade pianobar

FYI, brew updateakan memperbarui Homebrew ke versi terbaru, jadi Anda mungkin ingin melakukannya sebelum langkah 3.


melakukan 1-3 dan itu berfungsi seperti yang diharapkan, terima kasih! tapi kemudian ketika saya mencoba dan menjalankan pianobar dikatakan Login... Error: Protocol incompatible. Please upgrade libpiano.- ada pemikiran? juga ketika saya mencoba brew updatesaya mendapatkan kesalahan: File pohon yang tidak terlacak berikut akan ditimpa oleh gabungan: Library / Formula / tth.rb. Kesalahan: Gagal saat menjalankan git pull github.com/mxcl/homebrew.git master - maaf saya baru di homebrew dan saya benar-benar tidak yakin apa yang saya lakukan.
— cwd

1
Ah, git, kamu membuat hidup jadi menyenangkan !. Apakah cd `brew --prefix`kemudian git clean -fkemudian mencoba brew update. Adapun masalah Pianobar, saya akan coba brew upgrade libpianoberikutnya, tapi saya tidak menggunakannya, jadi saya tidak yakin.
— swrobel

itu berhasil, terima kasih banyak atas semua bantuannya! rupanya versi libpiano yang keluar belum cukup baru karena saya masih mendapatkan kesalahan meskipun dikatakan semuanya up to date.
— cwd

Senang untuk membantu. Saya baru saja menginstal pianobar dan berfungsi untuk saya. Saya tahu Pandora telah memperbarui protokol mereka baru-baru ini, tetapi tampaknya versi Pianobar Homebrew sudah terbaru. Milikku 2011.09.22, milikmu apa? Seharusnya ditampilkan di baris pertama setelah Anda menjalankan pianobar.
— swrobel

2

Seperti yang dikatakan @Felix, upgradejangan gunakan update.

Jika masalahnya berasal dari pohon git Anda yang kotor dan Anda hanya ingin melupakan modifikasi Anda, ketikkan git reset --hard HEADsebelum memutakhirkan.


tidak ada yang terjadi ketika saya mencoba itu ... brew upgrade pianobar -vmemberikan Kernel.exit
— cwd

apa yang kamu dapatkan saat berlari type -a brew?
— Robert S Ciaccio

brew adalah / usr / local / bin / brew
— cwd

0

Ini adalah jawaban umum, bukan khusus untuk pianobarmasalah Anda .

Untuk memperbarui perangkat lunak yang diinstal, perbarui minuman pertama: brew update

dan kemudian tingkatkan perangkat lunak yang diinstal: brew upgrade

Untuk mencegah beberapa perangkat lunak ditingkatkan, lakukan brew pin YOUR-PACKAGE-HERE

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.