Mencoba memperbarui Homebrew dengan brew update
saya mendapat kesalahan berikut
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
Saya menemukan posting blog oleh seseorang yang mengalami masalah serupa setelah menginstal Mountain Lion (yang saya lakukan minggu ini juga). Dia menjelaskan bagaimana dia menghapus file yang dimaksud dalam pesan kesalahan
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.
Dengan asumsi instruksi-instruksi itu benar (yang mungkin tidak seharusnya saya asumsikan), saya mencoba mengikuti instruksi ini dan melakukannya
$ cd $(brew --prefix)
$ rm cocot.rb
Namun, katanya 'file tidak ada' ketika saya mencoba rm cocot.rb
Satu hal yang saya tidak yakin adalah cd $(brew --prefix)
apakah itu kata-kata persis yang saya ketik atau apakah saya harus mengganti awalan dengan sesuatu? cd berhasil, jadi saya berasumsi itu benar - itu memindahkan saya ke / usr / local, tetapi tidak ada file untuk dihapus. Isi dari / usr / local adalah
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
Bagaimanapun, apakah Anda tahu bagaimana saya dapat memperbaiki 'pembaruan minuman'
Pembaruan: Setelah menghapus file sesuai dengan instruksi favoretti dan mencoba chown -R <your_username> $(brew --prefix)/.git
, saya mendapatkan kesalahan berikut berjalanbrew 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
Jawaban:
sumber
git add .
diikuti olehgit stash
: Pcd $(brew --prefix)
dan mengatur ulang tahap git dengan direktori kerjagit reset --hard HEAD
Anda yanggit status
tidak kembali bersih, Anda mungkin juga perlu membersihkan status dengan menjalankangit clean -df
.git reset --hard HEAD
(yang tidak akan bekerja untuk saya), saya melakukannyagit fetch --all
dangit reset --hard origin/master
Anda perlu melakukan hal berikut:
Dan kemudian lakukan
Pada dasarnya, untuk menjelaskan lebih banyak:
memberitahu
cd
untuk mengubah direktori ke apa pun yangbrew --prefix
akan ditampilkan. Jika Anda mencoba menjalankanbrew --prefix
perintah, Anda akan melihat sesuatu di baris:Jadi perintahnya akan dalam hal ini setara dengan
cd /usr/local
.brew
Versi yang lebih baru memiliki rumus di bawah awalan penginstalannya danLibrary/Formula/
, jadi di situlah Anda perlu mencari file yang sudah usang / diubah.Perhatikan, bahwa jika Anda mengubah sendiri formula itu karena alasan tertentu (seperti menyematkan versi), tindakan ini akan mengembalikannya ke default dan dapat menghasilkan efek yang tidak diinginkan.
@TedPennings mencatat dalam komentar bahwa ini bekerja untuknya, tetapi urutannya adalah:
my_username:admin
, yaitu,sudo chown -R ted:admin $(brew --prefix)
git fetch origin
dangit reset --hard origin/master
sumber
sudo git reset --hard
, yang lain dan cara yang lebih baik adalah dengan memperbaiki izin dan melakukanchown -R <your_username> $(brew --prefix)/.git
drwxrwxr-x 16 root admin 646 Dec 27 20:30 /usr/local/
sudo chown -R ted:admin $(brew --prefix)
dan kemudian menjalankan dua perintah git di atas,git fetch origin
dangit reset --hard origin/master
Ini disebabkan oleh bug lama dalam
update
kode yang sudah lama diperbaiki. Namun, sifat bug mengharuskan Anda melakukan hal berikut:Jika
brew doctor
masih mengeluh tentang modifikasi yang tidak dikomit, jalankan juga perintah ini:sumber
Catatan: langkah 2 & 3 bekerja untuk saya karena saya melakukan langkah 5 sebelum 4 sebelum saya mendapatkan kesalahan. The pembaruan minuman sebelum mengubah pemilik folder menyebabkan seluruh masalah.
sumber
/usr/local
dengan izin lainnya. Bagi saya MacPGP-lah yang menginstal sendiri dengan hak akses root./usr/local
izin. Terima kasih!Saya memiliki masalah serupa di mana pustaka paket pembuatan bir saya diunduh sebagai pengguna root dan kemudian saya tidak dapat menjalankan pembaruan pembuatan karena git akan mengeluh karena tidak dapat menggabungkan file.
Solusi yang harus dilakukan: -
sumber
Menyetel ulang penyimpanan minuman harus menjadi cara yang paling efisien jika Anda tidak keberatan untuk membuang modifikasi potensial pada formula yang mungkin telah Anda terapkan:
sumber
Saya dapat memperbaiki ini di komputer saya dengan menambahkan izin admin group write (and setgid bit) di jalur ini:
S menetapkan id grup pada eksekusi sehingga izin penulisan tidak hilang saat berikutnya pengguna admin yang berbeda memperbarui atau meningkatkan Homebrew.
Jawaban ini agak tidak lengkap karena ketika saya coba lakukan
brew cleanup --force
ada masalah izin ketika Homebrew mencoba untuk menghapus konten di / usr / local / Cellar /. (Sayangnya saya tidak dapat menyelidiki ini lebih lanjut saat ini.)sumber
Pilihan lain adalah hanya menggunakan
git stash
.Perintah pembaruan pembuatan melakukan a
git pull
, jadi jika ada file yang diubah (atau bahkan atribut file, yang terjadi pada saya ketika saya mengubah izin di direktori secara rekursif) Anda harus entah bagaimana memperbaiki konflik. Menggunakangit stash
adalah satu cara; dibutuhkan perubahan dan kesampingkan sehingga Anda secara efektif kembali ke versi repo yang terakhir diperbarui. Homebrew 'location' secara default/usr/local
dan diinstal sebagai repositori git. Anda dapat mencari.git
folder untuk melihat sendiri. Saya sedang menulis skrip penghapusan instalasi homebrew untuk segera diposting di profil GitHub saya dengan info lebih lanjut.sumber
note - untuk perintah USER use who ie nama pengguna Anda
sumber
sudo chown -R $USER /usr/local/bin
mana menambahkan posisi$
variabel USER env, yang menyimpan nama USER saat ini.Pendekatan ini mungkin lebih sederhana daripada beberapa. Ini melibatkan:
Langkah-langkah (dengan catatan untuk mereka yang menginginkan penjelasan):
Tinjauan Umum:
Dari apa yang dapat saya katakan, penyebab sebenarnya dari masalah ini adalah perubahan pada url repo. Sekarang
brew
dan dulubrew.git
. (Url lengkap terkini: https://github.com/Homebrew/brew )Catatan 1: Perintah pertama ini membawa Anda dari mana saja dalam struktur file Anda ke direktori yang benar. Struktur direktori berbeda untuk saya daripada yang ditunjukkan orang lain di atas (Mac OS 10.11.16), tetapi dengan perintah ini, perbedaan itu seharusnya tidak menjadi masalah.
Catatan 2: Perintah kedua ini menambahkan url jarak jauh yang benar ke alias baru; Saya melakukannya kalau-kalau pendekatan ini tidak mencapai apa yang saya inginkan dan saya membutuhkan alamat sebelumnya lagi. Karena remote baru berfungsi, saya akan mengundang orang lain untuk mengomentari hanya mengubah url alias oleh asalnya. Saya dengan senang hati akan memperbarui jawaban untuk mencerminkan apa yang berhasil untuk Anda.
Catatan 3: Perintah keempat ini memiliki hasil yang persis diinginkan: ini melaporkan sejumlah besar pembaruan, termasuk laporan yang sangat bagus dari "==> Migrasi HOMEBREW_REPOSITORY ke / usr / local / Homebrew!" (Penekanan mereka).
sumber
brew update
.Posting ini membantu saya setelah memperbarui ke El Capitan. Dalam kasus saya,
chown
tidak berfungsi ("zsh: command not found: chown"), jadi langkah 1 menambahkan baris ini ke .zshrc saya:export PATH="$PATH:/usr/sbin"
Saya sudah mencoba beberapa jawaban yang lebih populer di atas, jadi saya cukup yakin
git status
itu akan muncul pada saat saya menempelkan perintah penting dari posting blog:sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local
sumber
Ini seharusnya bekerja.
sumber