Başka bir aktif Homebrew süreci zaten devam ediyor


91

Bunu yapmaya çalıştığımda:

brew install node

Bu mesajı alıyorum:

 /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

Bunun nasıl çözüleceğine dair bir fikriniz var mı?

Yanıtlar:


211

Yukarıdaki cevap sorununuzu çözmezse, bu komutla homebrew işlem kilitlerini kaldırmayı deneyin:

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

1
neden for file in ls * lock ile daha güvenli kalmıyorsunuz ; do mv $file $file.old; done?
isomorphismes

1
TEŞEKKÜRLER, bu mükemmeldi!
lizziepika

Bu tavsiye edilmez. Hata, yanlış izinlerde; locksdosyaları bir amacı vardı ve öyle silme değil güvenli seçenek.
Kamafeather

1
Diğer cevap işe yaramazsa bunu denemeyi belirttim; @ Kalibrain'in çözümünden bahsediyordum. İkisini de yapmak zorundaydım.
omikes

48

Bu iş parçacığının bir noktada önerdiği gibi , benim sorunum brew komutunu ilk kez sudo ayrıcalıklarıyla çalıştırmaktı. Bu, brew'in ayrıcalıklı dosyalara ve klasörlere erişmeye çalışmasına neden olur ve başarısız olur. Sizin için durum buysa, bu komutları çalıştırın ve düğümü tekrar yüklemeyi deneyin.

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

brew cleanup


Evet, sorun dosyaları yedekleme için taşıdıktan ve ardından geri yükledikten sonra meydana geldi. Dosyaların sahibi bilinmeyen bir GID'ye ayarlandı; ile geri yükleme, chowntüm işlevselliği hatasız geri getirdi.
Kamafeather

Ayrıca, ile izinlerin sabitlendiğinden emin olun ls -la /usr/local/. Değilse, tüm alt dosyaları belirtmek için bir yıldız işareti eklemeye çalışın (gibi sudo chown -R "$USER":admin /usr/local/*).
Kamafeather

23

sadece terminali kapatın ve başka bir tane açın


Bu yalnızca bazı durumlarda işe yarayabilir. Bunun nedeni, terminali kapatırsanız, /usr/local/var/homebrew/locksyolda oluşturulan kilidi kaldıramayabilir . Bu nedenle, bir sonraki brew update
koşunuzda

15

Aşağıdakileri terminalinize yazmanız yeterlidir:

brew cleanup

Bu, herhangi bir sorunu temizlemelidir. Komutu şu şekilde uygulayın:

brew doctor

Hepsi tamam.


10

OSX'teki durumumda, düğüm kurulumunu kestim ve ardından düğüm kurulumunu tekrar başlatmaya çalıştım, böylece soruda belirtilen hatayı aldım.
Diğer yanıtlardan aşağıdaki adımları denedim:

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

brew cleanup

ve

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

ancak bu mesaj tekrar görünür - bu nedenle yukarıdaki adımların yardımcı olup olmadığını bilmeyin.

Sonra terminal sekmesini kapattım ve yenisinde koştum

brew install -v node

Düğüm kurulumunun başarıyla tamamlanması 11 dakika sürdü


1
üzerinde MacOS yapmak daha güvenlidir sudo chown -R "$USER":admin /usr/local/*. Yıldız işaretleri olmadan doğru bir genişletme elde edemedim ve alt dosya / klasörlerin çoğu komutla dokunulmadı.
Kamafeather

3

Dosya iznini değiştir bu hatayı önleyecektir:

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

Homebrew kurulumu veya güncellemesiyle ilgili izin sorunları için:

Homebrew izin ayarınızı değiştirin

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

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

Ardından homebrew kurulumunu veya güncellemesini çalıştırın


İçin izinleri değiştirmek /usr/local/Homebrewve /usr/local/var/homebrewbana tam olarak yardımcı olan
şeydi

0

Neler olduğunu bilmiyorum. Tek aktif terminalim giriş bekliyordu, arka planda çalışan iş yok. Başarısız olan ve benden Homebrew'i güncellememi isteyen bir RVM kurulumunu çalıştırmayı denedim, ancak terminal giriş beklediği için bitmesi gerekiyordu. Birkaç tekrarlanan komut çağrısından ve birkaç dakika sonra mesajı almayı bıraktım.

Bu, iTerm2 ile Mac OSX 10.13.6 üzerindedir.

⋊> 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)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.