Proses Homebrew aktif lainnya sedang berlangsung


91

Ketika saya mencoba melakukan ini:

brew install node

Saya mendapatkan pesan ini:

 /usr/local/Homebrew/Library/Homebrew/utils/lock.sh: line 19: /usr/local/var/homebrew/locks/update: Permission denied
-e:1:in `initialize': Bad file descriptor (Errno::EBADF)
    from -e:1:in `new'
    from -e:1:in `<main>'
Error: Another active Homebrew process is already in progress.
Please wait for it to finish or terminate it to continue.
Error: Permission denied - /usr/local/var/homebrew/locks/node.brewing

Ada ide tentang cara mengatasi ini?

Jawaban:


211

Jika jawaban di atas tidak menyelesaikan masalah Anda, coba hapus kunci proses homebrew dengan perintah ini:

rm -rf /usr/local/var/homebrew/locks

1
mengapa tidak tetap lebih aman dengan for file in kunci ls * ; do mv $file $file.old; done?
isomorfisma

1
TERIMA KASIH ini sempurna!
lizziepika

Ini tidak dianjurkan. Kesalahannya ada pada izin yang salah; yang locksfile memiliki tujuan dan menghapus itu tidak pilihan yang paling aman.
Kamafeather

1
Saya menetapkan untuk mencoba ini jika jawaban lain tidak berhasil; Saya mengacu pada solusi @ kalibrain. Saya harus melakukan keduanya.
omikes

48

Seperti yang disarankan utas ini di beberapa titik, masalah saya adalah menjalankan perintah brew dengan hak sudo untuk pertama kalinya. Hal ini menyebabkan brew mencoba mengakses file dan folder dengan hak istimewa dan gagal. Jika itu masalahnya, jalankan perintah ini dan coba instal node lagi.

sudo chown -R "$USER":admin /usr/local

brew cleanup


Ya, masalah terjadi setelah memindahkan file untuk cadangan dan kemudian memulihkannya. Pemilik file disetel ke GID yang tidak diketahui; memulihkan dengan chownmembawa semua fungsi kembali tanpa kesalahan.
Kamafeather

Juga, pastikan izin sudah diperbaiki, dengan ls -la /usr/local/. Jika tidak, coba tambahkan tanda bintang untuk menyiratkan semua subfile (suka sudo chown -R "$USER":admin /usr/local/*).
Kamafeather

23

tutup saja terminal dan buka lagi yang lain


Ini mungkin hanya berfungsi dalam beberapa kasus. Alasannya adalah, jika Anda hanya menutup terminal, mungkin tidak dapat menghapus kunci yang dibuat di /usr/local/var/homebrew/locksjalur. Karenanya, lain kali Anda berlari brew updateAnda akan melihat kesalahan yang diberikan dalam pertanyaan ini
Eranga Heshan

15

Cukup ketikkan yang berikut ini ke terminal Anda:

brew cleanup

Ini harus membersihkan masalah apa pun. Ikuti perintah dengan:

brew doctor

Semua selesai.


10

Dalam kasus saya di OSX, saya menginterupsi pemasangan node dan kemudian saya mencoba untuk mulai menginstal node lagi sehingga saya mendapatkan kesalahan yang disebutkan dalam pertanyaan.
Saya mencoba langkah-langkah di bawah ini dari tanggapan lain:

sudo chown -R "$USER":admin /usr/local

brew cleanup

dan

rm -rf /usr/local/var/homebrew/locks

tetapi pesan ini muncul lagi - jadi tidak tahu apakah langkah-langkah di atas membantu.

Kemudian saya menutup tab terminal dan yang baru berlari

brew install -v node

Butuh 11 menit untuk menyelesaikan instalasi node dengan sukses


1
di macOS lebih aman untuk dilakukan sudo chown -R "$USER":admin /usr/local/*. Tanpa tanda bintang saya tidak mendapatkan perluasan yang benar dan sebagian besar sub-file /-folder tidak tersentuh oleh perintah.
Kamafeather

3

Ubah izin file akan menghindari kesalahan ini:

sudo chown <your-username>:admin /usr/local/Homebrew/Library/Homebrew/utils/lock.sh

Untuk masalah izin dengan pemasangan atau pembaruan homebrew:

Ubah pengaturan izin homebrew Anda

sudo chown -R <your-username>:admin /usr/local/Homebrew

sudo chown -R <your-username>:admin /usr/local/var/homebrew

Kemudian jalankan homebrew install atau update


Mengubah izin untuk /usr/local/Homebrewdan /usr/local/var/homebrewitulah yang membantu saya
brigadir

0

Saya tidak tahu apa yang sedang terjadi. Satu-satunya terminal aktif saya sedang menunggu masukan, tidak ada pekerjaan yang berjalan di latar belakang. Saya baru saja mencoba menjalankan instalasi RVM yang gagal dan meminta saya untuk memperbarui Homebrew tetapi itu seharusnya sudah selesai karena terminal sedang menunggu masukan. Setelah beberapa pemanggilan perintah berulang dan beberapa menit kemudian saya berhenti menerima pesan.

Ini ada di Mac OSX 10.13.6 dengan iTerm2.

⋊> brew --version
Homebrew 2.1.4
Homebrew/homebrew-core (git revision 97b15a; last commit 2019-06-07)
Homebrew/homebrew-cask (git revision 2a010; last commit 2019-06-07)
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.