Mac OS X 10.13 High Sierra'da homebrew için chown / usr / local olamaz


118

Homebrew'in / usr / local içinde izinlere ihtiyacı var ve hiç kimse dizüstü bilgisayarımı kullanmadığı için her zaman basitçe yaptım

sudo chown -R $(whoami) $(brew --prefix)

ama High Sierra'da bu verir

chown: /usr/local: Operation not permitted

Düzeltme nedir?


Çözüldü: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Yanıtlar:


218

Sorun oluşmaya devam etti ... daha derine indikten sonra, yalnızca Homebrew'u kaldırıp yeniden yüklemenin bu sorunu çözdüğünü gördüm.

Homebrew'i kaldırın:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Ardından yeniden kurun:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4
"High" Sierra yükseltmesinden sonra homebrew'umu düzeltmenin tek yolu buydu. gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/libsudo chown -R $(whoami) $(brew --prefix)/*
hatam

Inanılmaz. İlk seferde başarısız oldu, kaldırma betiği başarısız oldu, ikinci yükleme çalıştı.
GreenAsJade

brew listHangi paketlerin kurulu olduğuna dair bir kayıt almak için ilk olarak çıktısını bir dosyaya kaydetmek isteyebilirsiniz .
Giles Gardam

1
Diğer çeşitli Mojave homebrew düzeltmelerinin hiçbiri sistemimde çalışmaz. Kaldırma / Yeniden Yükleme mükemmel şekilde çalıştı.
pkamb

2
Ayrıca Catalina
Gefilte Fish

52

Maalesef artık /usr/localHigh Sierra'da boğulamazsınız . Bir geçici çözüm olduğunu sudo mkdir /usr/local/includeve /usr/local/Frameworksonlar yoktur ve eğer

sudo chown -R $(whoami) $(brew --prefix)/*

Bu basit çözüm ve harika homebrew için ilovezfs'e teşekkürler!


9
Hala çalışmıyor. $ brew update Hata: / usr / local dizini yazılabilir değil.
Laurence Cope

Homebrew'u kaldırıp yeniden yüklemeyi deneyin: stackoverflow.com/questions/46459152/…
ruggershawn

başka bir yerde yorumladığım gibi, kaldırma işlemi TÜM demleme paketlerinizi kaldırır.
jaydel

$(brew --prefix)/usr/local/bence değerlendirmeli .
Jordan Stewart

33

Kendi /usr/localbaşına izni değiştiremezsiniz , ancak altındaki klasörler için doğru izni değiştirebilirsiniz, bu nedenle
sudo chown -R $(whoami) /usr/local/*


1
Yine aynı sorunu
yaşayın

2
MacOS High Sierra'da çalışıyor. Çalışmış. Teşekkürler.
Prince Odame

2
Benim için çalıştı: macOS High Sierra 10.13.6
Gail Parsloe

8

Ben takip bu ancak sorun hala devam etmektedir.
Bu yüzden, homebrew'i öncekini kaldırmadan yeniden yükledim . Şuan çalışıyor!
(Nasıl olduğunu bilmiyorum)


3
Homebrew'i tamamen kaldırmanızı ve ardından tekrar yüklemenizi öneririm.
k1r8r0wn

Birden çok kurulum işe yaradı, kaldırana kadar düzeltemedim.
cbowns

kaldırma işlemi her şeyi mahveder. Yüklü tonlarca paketim var ve hepsini tekrar gözden geçirip kurmam gerekecek. Ne yazık ki bunların hepsi daha önce işe yaradı çünkü bu paketlere sahibim.
jaydel


3

Sistem Bütünlüğü Korumasını devre dışı bırakmayı deneyin . Belgelerden:

Sistem Bütünlüğü Koruması, csrutil (1) komutu kullanılarak yapılandırılabilir.

Terminal'de aşağıdaki komutu çalıştırarak Sistem Bütünlüğü Korumasının şu anda sisteminizde etkin olup olmadığını kontrol edebilirsiniz:

$ csrutil status
System Integrity Protection status: enabled.

Sistem Bütünlüğü Korumasını etkinleştirmek veya devre dışı bırakmak için, Kurtarma İşletim Sistemine önyükleme yapmalı ve Terminal'den csrutil (1) komutunu çalıştırmalısınız.

Makinenizi yeniden başlatıp başlangıçta Command ve R tuşlarını basılı tutarak Kurtarma İşletim Sistemine önyükleme yapın. Utilities menüsünden Terminal'i başlatın. Aşağıdaki komutu girin: $ csrutil enable

Bir makinede Sistem Bütünlüğü Korumasını etkinleştirdikten veya devre dışı bıraktıktan sonra, yeniden başlatma gerekir.


Bu teorik olarak soruya cevap görülebilir fakat tercih edildiğini burada cevabın temel parçalarını kapsadığı ve başvuru için bağlantı sağlar.
Jake Symons

3
Bu biraz, masanızın testeresinden koruyucuyu çıkarmak gibidir. Çalışır ve bazen gerekli olabilir, ancak yapmak zorunda değilseniz daha güvenlidir. Homebrew çalışması yapmak için kendinizi / usr / local'ın sahibi olarak belirlemek her zaman bir hack gibi görünüyordu.
Caleb

3
Bu kesinlikle önerilmez! Kullanıcı ne yaptığını yapmadığı sürece son derece tehlikelidir.
Abu Shumon

@oligofren: D: D: D hadi adamım. Rahatla, bu bir İngilizce word in contextyarışması değil . : D: D Kullanıcıyı uyarmak için işaretleyin. Ama peki, o zaman benim için
sözleri alıyorsun

1

zsh kullanıyorsanız, bash'dan geldiğiniz için $ PATH'ınızı değiştirmeniz gerekebilir. Eklemek gerekir export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc dosyanızda içinde

o zaman işe yaramalı, bu sorun Mac'imde bu şekilde çözüldü.


1

Ayrıca 10.13 High Sierra'dayım. Önceki önerileri denedim; hiçbir şey çalışmadı. Sonunda önce komut satırı araçlarını yüklemeyi denedim :

xcode-select --install

ve daha sonra (yeniden) brew install komutunu çalıştırdı:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ve sonunda işe yaradı.


0

Ana klasörde veya bir kurulumun erişmesi gereken herhangi bir klasörde ayarlanmış bir kilit olmadığından emin olun.

İzinler ve sahiplik doğru ayarlanmış olsa ve şu anda doğru bir kullanıcı / veya Kök kullanıcı ile oturum açmış olsanız bile, yeni klasörler veya dizinler oluşturmanıza izin vermeyecektir.


0

/ User / local / Frameworks klasörüm yoktu, bu yüzden bu benim için düzeltti

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

OSX High Sierra'm var


0

bu Kaushik. MacBook Pro macOS Catalina 10.15.4 kullanıyorum. Yeni bir yönetici hesabı oluşturdum ama brew hata veriyordu. Dolayısıyla bu yazıdan bir adım takip ettim. ne işe yaradı:

sudo chown -R $ (whoami) $ (demlemek - önek) / *

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.